export interface ConstitutionRule {
    id: string;
    check: string;
    description?: string;
    [key: string]: unknown;
}
export interface ConstitutionRole {
    id: string;
    name: string;
    description?: string;
    permissions: string[];
    constraints: string[];
    requires_capability?: string[];
    [key: string]: unknown;
}
export interface ConstitutionConfig {
    version?: string;
    effective_date?: string;
    priorities?: ConstitutionPriority[];
    rules?: ConstitutionRule[];
    roles?: ConstitutionRole[];
    capabilities?: Record<string, unknown>;
    [key: string]: unknown;
}
export interface ConstitutionPriority {
    id: number;
    [key: string]: unknown;
}
/** Constitution - 宪法加载与管理 */
export declare class Constitution {
    priorities: ConstitutionPriority[];
    roles: Map<string, ConstitutionRole>;
    rules: ConstitutionRule[];
    config: ConstitutionConfig;
    configPath: string;
    constructor(configPath: string);
    /** 加载宪法配置 */
    loadConfig(): ConstitutionConfig;
    /** 获取所有优先级 */
    getPriorities(): ConstitutionPriority[];
    /** 获取所有数据守护规则 */
    getRules(): ConstitutionRule[];
    /** 获取能力定义 */
    getCapabilities(): Record<string, unknown>;
    /** 获取角色需要的能力列表 */
    getRoleRequiredCapabilities(roleId: string): string[];
    /** 获取特定优先级 */
    getPriority(id: number): ConstitutionPriority | undefined;
    /** 获取角色定义 */
    getRole(roleId: string): ConstitutionRole | undefined;
    /** 获取角色权限 */
    getRolePermissions(roleId: string): string[];
    /** 获取角色约束 */
    getRoleConstraints(roleId: string): string[];
    /** 获取所有角色 */
    getAllRoles(): ConstitutionRole[];
    /** 验证角色是否存在 */
    hasRole(roleId: string): boolean;
    /** 重新加载宪法（热更新） */
    reload(): void;
    /** 导出宪法摘要 */
    toJSON(): {
        version: string | undefined;
        effectiveDate: string | undefined;
        priorities: ConstitutionPriority[];
        rules: {
            id: string;
            description: string | undefined;
        }[];
        roles: {
            id: string;
            name: string;
            description: string | undefined;
        }[];
    };
}
export default Constitution;
