/** * Multi-Domain Git Governance — matches architecture spec §8. * Supports single-repo, multi-repo, and hybrid models. */ export type GovernanceModel = 'single-repo' | 'multi-repo' | 'hybrid'; export interface DomainConfig { name: string; repo: string; path: string; owner: string; approvalRules: ApprovalRules; costThreshold?: number; tags?: string[]; } export interface ApprovalRules { minReviewers: number; autoCertifyOnMerge: boolean; requirePassingTests: boolean; requiredReviewers?: string[]; } export interface PlatformConfig { model: GovernanceModel; coreRepo?: string; domains: DomainConfig[]; globalRules: ApprovalRules; syncSchedule?: string; } export interface DomainSyncResult { domain: string; repo: string; blocksFound: number; blocksCreated: number; blocksUpdated: number; blocksUnchanged: number; errors: string[]; } /** * MultiDomainGovernance manages governance across multiple repos/domains. */ export declare class MultiDomainGovernance { private config; constructor(config: PlatformConfig); getModel(): GovernanceModel; getDomains(): DomainConfig[]; getDomain(name: string): DomainConfig | undefined; addDomain(domain: DomainConfig): void; removeDomain(name: string): void; /** * Get the effective approval rules for a domain. * Domain rules override global rules where specified. */ getEffectiveRules(domainName: string): ApprovalRules; /** * Validate that a block meets the governance requirements for its domain. */ validateBlock(blockDomain: string, block: { hasTests: boolean; reviewerCount: number; reviewers: string[]; testsPassing: boolean; }): { valid: boolean; violations: string[]; }; /** * Generate a sync plan for all domains. */ getSyncPlan(): Array<{ domain: string; repo: string; path: string; }>; } //# sourceMappingURL=multi-domain.d.ts.map