import type { ProjectApprovalRule } from './types.js';
/**
 * Owns persisted approval-rule JSON validation and tolerant legacy parsing.
 *
 * Reads are forgiving so a malformed or older approval file does not crash the
 * host. Writes are strict and go through the same Zod schema used for reads.
 */
export declare class ProjectApprovalRuleCodec {
    static parseList(value: unknown): ProjectApprovalRule[];
    static serialize(rules: ProjectApprovalRule[]): string;
    private static parseRule;
    private static parseShellRule;
    private static dedupeRules;
    private static normalizeShellCapability;
    private static readonly SHELL_CAPABILITIES;
}
//# sourceMappingURL=codec.d.ts.map