import { HTTPRequestVO, TransferPacketVO } from "./structures/Interfaces"; export interface IBaseEndpoint { endpoints?: IEndpointHandler[]; __execute: (req: HTTPRequestVO) => Promise>; __precheck: (req: HTTPRequestVO) => Promise | null>; init: () => Promise; ignoreHttpLogging: boolean; } declare const httpMethods: string[]; type HTTPMethod = typeof httpMethods[number]; export type IHandler = Record Promise>) | { controller: (req: HTTPRequestVO) => Promise>; ignoreInterceptor?: boolean; internalCallParams?: any; allowInterceptorError?: boolean; validationModel?: any; resultModel?: any; asStream?: boolean; ignoreInDocumentation?: boolean; ignoreHttpLogging?: boolean; description?: string; title?: string; }>; export interface IEndpointHandler { endpoint: string; handler?: ((req: HTTPRequestVO) => Promise>) | IHandler; ignoreInterceptor?: boolean; internalCallParams?: any; ignoreInDocumentation?: boolean; ignoreHttpLogging?: boolean; independed?: boolean; allowInterceptorError?: boolean; asStream?: boolean; description?: string; title?: string; validationModel?: any; resultModel?: any; } export declare class BaseEndpoint implements IBaseEndpoint { static allInstances: BaseEndpoint[]; private inializedEndpointNames; description: string; endpoints?: IEndpointHandler[]; ignoreHttpLogging: boolean; ignoreInDocumentation: boolean; private static entrypoint; endpoint: string; createdAt: number; initializedAt: number | null; protected streamOptions: Record; static setEntryPoint: (ep: string) => void; static getEntryPoint: () => string; constructor(endpoint: string); registerEndpoints(endpoints: IEndpointHandler[]): void; init(): Promise; getInitalizedEndpointNames(): String[]; getInventory(): { className: string; basePath: string; ignoreHttpLogging: boolean; ignoreInDocumentation: boolean; description: string; createdAt: number; initializedAt: number | null; handlerCount: number; handlers: { path: string; methods: string[]; ignoreInterceptor: boolean; ignoreInDocumentation: boolean; ignoreHttpLogging: boolean; independed: boolean; asStream: boolean; hasValidationModel: boolean; hasResultModel: boolean; description?: string; title?: string; }[]; }; __precheck(req: HTTPRequestVO): Promise | null>; __execute(req: HTTPRequestVO): Promise>; protected validateStructure(structure: any, req: HTTPRequestVO): Promise; protected createStream(req: HTTPRequestVO, opts: { contentType?: string; headers?: { [key: string]: string; }; }): HTTPRequestVO; } export {};