import { Server } from './structures/server'; import type { RouteDefinition, SchemaDefinition, MiddlewareDefinition } from './typings'; import { API } from './structures/api'; import { Route } from './structures/route'; type ExtractAuthType = T extends ({ token, server, route, }: { token: string; server: Server; route: Route; }) => infer R ? Awaited : never; declare function createApp; route: Route; }) => Promise | unknown, TAuth = ExtractAuthType, TServices = undefined>({ authenticationMethod, routesBasePath, services, onError, cors, }: { authenticationMethod: TAuthMethod; routesBasePath: string; services?: TServices; onError?: ({ api, error, }: { api: API; error: unknown; }) => void; cors?: { origin?: string | string[] | ((origin: string | undefined, callback: (err: Error | null, allow?: boolean) => void) => void); methods?: string | string[]; headers?: string | string[]; extendHeaders?: string | string[]; }; }): { server: Server; defineRoute: (route: RouteDefinition) => RouteDefinition; defineMiddleware: (middleware: MiddlewareDefinition) => MiddlewareDefinition; }; export { createApp }; //# sourceMappingURL=create-app.d.ts.map