import type { ApiServerPort, ProxyConfig } from './port';
import type { RestApplicationEntryPoints } from '../../../layers/application/types';
import { type HttpServerConfig } from '../types/server-config';
export declare enum HandlersType {
    HOOK = "hook",
    ROUTE = "route"
}
export declare class ApiServer {
    private readonly config;
    private readonly adapter;
    constructor(config: HttpServerConfig, adapter: ApiServerPort);
    registerEntrypoints(entryPoints: RestApplicationEntryPoints): Promise<void>;
    private registerHandlers;
    registerAllHooks(restEntryPoints: RestApplicationEntryPoints): Promise<void>;
    registerAllRoutes(restEntryPoints: RestApplicationEntryPoints): Promise<void>;
    registerAllRestHandlers(restEntryPoints: RestApplicationEntryPoints): Promise<void>;
    registerProxy(config: ProxyConfig): void;
    listen(port: number): Promise<void>;
    getRawServer(): unknown;
    getAdapter(): ApiServerPort;
}
//# sourceMappingURL=api-server.d.ts.map