import { Hono } from 'hono'; import { Db } from './Db'; import type { Server } from 'bun'; import type Roles from 'the-api-roles'; import type { Routings as RoutingsType } from 'the-api-routings'; import type { AppEnv, TheApiOptionsType, RoutingsInputType, EmailTemplatesType } from './types'; export declare class TheAPI { app: Hono; db: Db | null; roles?: Roles; private errors; private routings; private port; private migrationDirs; emailTemplates: Record; constructor(options?: TheApiOptionsType); init(): Promise; up(): Promise; upBun(): Promise<{ fetch: (req: Request, server: Server) => Response | Promise; port: number; }>; destroy(): Promise; addRoutings(routings: RoutingsType | RoutingsInputType): void; private collectErrorsAndTemplates; private getFlatRoutings; private registerGlobalMiddleware; private registerDbMiddleware; private inferCrudMethodsFromRoles; private addCrudRoutePermissions; private hasOwnerPermission; private addCrudOwnerLookupRoutes; private addConfiguredCrudOwnerLookupRoutes; private getMatchedEndpoints; private preloadCrudObjectToCheck; private checkRoutePermissions; private registerRoutes; } //# sourceMappingURL=TheApi.d.ts.map