export interface ApiRoute {
    method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS';
    path: string;
    handler: (request: Request, params: Record<string, string>) => Promise<Response>;
    middleware?: ApiMiddleware[];
}
export type ApiMiddleware = (request: Request, next: () => Promise<Response>) => Promise<Response>;
export interface ApiRouter {
    routes: ApiRoute[];
    use(middleware: ApiMiddleware): void;
    get(path: string, handler: ApiRoute['handler']): void;
    post(path: string, handler: ApiRoute['handler']): void;
    put(path: string, handler: ApiRoute['handler']): void;
    patch(path: string, handler: ApiRoute['handler']): void;
    delete(path: string, handler: ApiRoute['handler']): void;
    options(path: string, handler: ApiRoute['handler']): void;
    handle(request: Request): Promise<Response>;
}
/** Create a public REST API router for Actuate CMS content. */
export declare function createApiRouter(): ApiRouter;
//# sourceMappingURL=router.d.ts.map