import { Team } from '../team';
export type McpDeclaredToolsets = Readonly<{
    kind: 'missing';
}> | Readonly<{
    kind: 'invalid';
    errorText: string;
}> | Readonly<{
    kind: 'loaded';
    declaredServerIds: ReadonlySet<string>;
    invalidServerIds: ReadonlySet<string>;
    disabledServerIds: ReadonlySet<string>;
}>;
export type ToolsetAuditItem = Readonly<{
    toolsetName: string;
    status: 'registered' | 'mcp_declared_unloaded' | 'mcp_declared_invalid' | 'mcp_declared_disabled' | 'missing';
}>;
export type ToolsetAuditReport = Readonly<{
    mcp: McpDeclaredToolsets;
    byMember: ReadonlyArray<Readonly<{
        memberId: string;
        memberName: string;
        items: ReadonlyArray<ToolsetAuditItem>;
    }>>;
    warnings: string[];
}>;
export declare function readMcpDeclaredToolsets(): Promise<McpDeclaredToolsets>;
export declare function buildToolsetAuditReport(params: {
    team: Team;
    targetMemberIds: ReadonlyArray<string>;
    mcp: McpDeclaredToolsets;
}): ToolsetAuditReport;
export declare function hasHardToolsetAuditFailures(report: ToolsetAuditReport): boolean;
export declare function printToolsetAudit(report: ToolsetAuditReport, options?: Readonly<{
    heading?: string;
    includeTransientLegend?: boolean;
}>): void;
