import type { ISchema, SchemaType } from '../validation/Validator';
export type ValidationSchema = ISchema | SchemaType;
export type RouteMetaInput = RouteMeta | {
    summary?: string;
    description?: string;
    tags?: readonly string[];
    requestSchema?: ValidationSchema;
    responseSchema?: unknown;
    responseStatus?: number;
};
export type RouteMeta = {
    summary?: string;
    description?: string;
    tags?: readonly string[];
    request?: {
        bodySchema?: ValidationSchema;
        querySchema?: ValidationSchema;
        paramsSchema?: ValidationSchema;
        headersSchema?: ValidationSchema;
    };
    response?: {
        status?: number;
        schema?: unknown;
    };
};
export type RouteRegistration = {
    method: string;
    path: string;
    middleware?: readonly string[];
    meta?: RouteMeta;
};
export declare const normalizeRouteMeta: (input?: RouteMetaInput) => RouteMeta | undefined;
export declare const RouteRegistry: Readonly<{
    record(route: RouteRegistration): void;
    list(): readonly RouteRegistration[];
    clear(): void;
}>;
export default RouteRegistry;
//# sourceMappingURL=RouteRegistry.d.ts.map