/**
 * Append-only ledger for applied/rejected skill refinements.
 *
 * File lives at `.specweave/state/skill-refinements.json`. Missing/corrupt
 * files degrade to an empty ledger — readers never throw.
 *
 * @module core/skill-refine/ledger
 */
import { EMPTY_LEDGER, type RefinementLedger, type RefinementLedgerEntry, type RefinementStatus } from '../../types/skill-refinements';
export interface AppendAppliedInput {
    targetSkill: string;
    author: string;
    signalIds: string[];
    diffSha: string;
    rationale: string;
    /** Override appliedAt (mainly for tests). */
    appliedAt?: string;
    /** Override id (mainly for tests). */
    id?: string;
}
export interface AppendRejectedInput {
    targetSkill: string;
    author: string;
    signalIds: string[];
    rationale: string;
    rejectionReason: string;
    appliedAt?: string;
    id?: string;
}
export declare function readLedger(filePath: string): Promise<RefinementLedger>;
export declare function appendApplied(filePath: string, input: AppendAppliedInput): Promise<RefinementLedgerEntry>;
export declare function appendRejected(filePath: string, input: AppendRejectedInput): Promise<RefinementLedgerEntry>;
export { EMPTY_LEDGER, type RefinementLedger, type RefinementLedgerEntry, type RefinementStatus };
//# sourceMappingURL=ledger.d.ts.map