import type { CellEvidence, CellEvidencePayload } from "./capture.js";
export type RedactionRule = {
    name: string;
    secret: string;
    replacement?: string;
};
export type RedactionReport = {
    rules: Array<{
        name: string;
        replacements: number;
    }>;
};
type ReplacementCounts = Map<string, number>;
export declare function validateRedactionRules(rules: RedactionRule[]): void;
export declare function redactEvidencePayload(payload: CellEvidencePayload, rules: RedactionRule[]): {
    payload: CellEvidencePayload;
    counts: ReplacementCounts;
    artifactReplacements: {
        domSnapshot: number;
        trace: number;
    };
};
export declare function redactJsonPayload(value: unknown, rules: RedactionRule[]): {
    json: string;
    replacements: number;
};
export declare function redactEvidence(evidence: CellEvidence, rules: RedactionRule[]): CellEvidence;
export declare function redactArtifacts(runDir: string, rules: RedactionRule[]): Promise<RedactionReport>;
export declare function redactionStateForArtifact(replacements: number): "none" | "partial" | "full";
export {};
//# sourceMappingURL=redaction.d.ts.map