interface CodeownersRule {
    pattern: string;
    owners: string[];
    regex: RegExp;
}
export declare function parseCodeowners(rootDir: string): {
    rules: CodeownersRule[];
    path: string;
} | null;
export declare function clearCodeownersCache(): void;
export declare function parseCodeownersContent(content: string): CodeownersRule[];
export declare function patternToRegex(pattern: string): RegExp;
export declare function matchOwners(filePath: string, rules: CodeownersRule[]): string[];
export declare function ownersForFiles(filePaths: string[], repoRoot: string): {
    owners: Map<string, string[]>;
    affectedOwners: string[];
    suggestedReviewers: string[];
};
interface OwnersDataOpts {
    owner?: string;
    file?: string;
    kind?: string;
    noTests?: boolean;
    boundary?: boolean;
}
export declare function ownersData(customDbPath?: string, opts?: OwnersDataOpts): {
    codeownersFile: string | null;
    files: {
        file: string;
        owners: string[];
    }[];
    symbols: {
        name: string;
        kind: string;
        file: string;
        line: number;
        owners: string[];
    }[];
    boundaries: {
        from: {
            name: string;
            kind: string;
            file: string;
            line: number;
            owners: string[];
        };
        to: {
            name: string;
            kind: string;
            file: string;
            line: number;
            owners: string[];
        };
        edgeKind: string;
    }[];
    summary: {
        totalFiles: number;
        ownedFiles: number;
        unownedFiles: number;
        coveragePercent: number;
        ownerCount: number;
        byOwner: {
            owner: string;
            fileCount: number;
        }[];
    };
};
export {};
//# sourceMappingURL=owners.d.ts.map