export declare enum Permission { SESSION_CREATE = "session:create", SESSION_READ = "session:read", SESSION_UPDATE = "session:update", SESSION_DELETE = "session:delete", SESSION_LIST = "session:list", SESSION_REFRESH = "session:refresh", CONTEXT_CREATE = "context:create", CONTEXT_READ = "context:read", CONTEXT_UPDATE = "context:update", CONTEXT_DELETE = "context:delete", CONTEXT_LIST = "context:list", CONTEXT_EXECUTE = "context:execute", API_KEY_CREATE = "apikey:create", API_KEY_READ = "apikey:read", API_KEY_DELETE = "apikey:delete", API_KEY_LIST = "apikey:list", SUBSCRIPTION_CREATE = "subscription:create", SUBSCRIPTION_READ = "subscription:read", SUBSCRIPTION_DELETE = "subscription:delete", ADMIN_ALL = "admin:*", ADMIN_USERS = "admin:users", ADMIN_SESSIONS = "admin:sessions", ADMIN_METRICS = "admin:metrics" } export declare const RolePermissions: Map; export declare function hasPermission(roles: string[], permission: Permission, scopes?: string[]): boolean; interface PermissionCheckParams { userId: string; roles: string[]; permission: Permission; resource: string; scopes?: string[]; } export declare function requirePermission({ userId, roles, permission, resource, scopes, }: PermissionCheckParams): Promise; export declare function getPermissionsForRoles(roles: string[]): Permission[]; export declare function isValidPermission(permission: string): permission is Permission; export declare function parsePermission(resource: string, action: string): Permission | null; export {}; //# sourceMappingURL=permissions.d.ts.map