export type PermissionControlType = 'toggle' | 'scope';
export interface PermissionDefinition {
    key: string;
    label: string;
    type: PermissionControlType;
    description?: string;
}
export interface PermissionModuleDefinition {
    id: string;
    label: string;
    description?: string;
    permissions: PermissionDefinition[];
}
export declare const PERMISSION_MODULES: PermissionModuleDefinition[];
export declare const ALL_PERMISSION_KEYS: string[];
export declare const SCOPE_KEYS: string[];
export type PermissionValue = 'true' | 'false' | 'none' | 'own' | 'all' | 'own_and_all';
export declare function isValidPermissionKey(key: string): boolean;
export declare function isValidPermissionValue(key: string, value: string): value is PermissionValue;
export declare function getDefaultPermissionMap(slug: string): Record<string, PermissionValue>;
export declare const SYSTEM_ROLE_TEMPLATES: readonly [{
    readonly name: "Owner";
    readonly slug: "owner";
    readonly description: "Full access to all modules and settings.";
    readonly is_system: true;
    readonly hierarchy: 100;
}, {
    readonly name: "Admin";
    readonly slug: "admin";
    readonly description: "Broad access across the organization.";
    readonly is_system: true;
    readonly hierarchy: 50;
}, {
    readonly name: "Member";
    readonly slug: "member";
    readonly description: "Standard employee access.";
    readonly is_system: true;
    readonly hierarchy: 1;
}];
