import type { MiddlewareHandler } from 'hono';
export type Role = 'VIEWER' | 'OPERATOR' | 'ADMIN' | 'AUDITOR';
export declare const ROLE_HIERARCHY: Record<Role, number>;
export interface RoutePermission {
    readonly method: string;
    readonly pathPattern: RegExp;
    readonly minRole: Role;
    readonly description: string;
}
export declare function extractRole(iamClaims: unknown): Role;
export declare function checkAccess(role: Role, method: string, path: string): {
    allowed: boolean;
    reason?: string;
};
export declare function createAccessControlMiddleware(onDenied?: (correlationId: string, actor: string, role: Role, method: string, path: string) => Promise<void>): MiddlewareHandler;
//# sourceMappingURL=access-control.d.ts.map