import type { MemoryEdge, MemoryProvenance, MemoryRecord, MemoryStructuredPayload, MemoryValidityInterval } from "./memory-records.js";
import type { MemoryScope, MemoryStatus } from "./memory.js";
export interface MemoryValidationOk<T> {
    readonly ok: true;
    readonly value: T;
}
export interface MemoryValidationFail {
    readonly ok: false;
    readonly errors: readonly string[];
}
export type MemoryValidation<T> = MemoryValidationOk<T> | MemoryValidationFail;
export declare function looksLikeSecretShape(value: string): boolean;
export interface StatusTransitionCheck {
    readonly ok: boolean;
    readonly reason?: string;
}
export declare function checkStatusTransition(from: MemoryStatus, to: MemoryStatus): StatusTransitionCheck;
export declare function validateMemoryScope(input: unknown): MemoryValidation<MemoryScope>;
export declare function validateMemoryValidityInterval(input: unknown): MemoryValidation<MemoryValidityInterval>;
export declare function validateMemoryProvenance(input: unknown): MemoryValidation<MemoryProvenance>;
export declare function validateMemoryStructuredPayload(input: unknown): MemoryValidation<MemoryStructuredPayload>;
export declare function validateMemoryEdge(input: unknown): MemoryValidation<MemoryEdge>;
export interface StaleModelMetadataInput {
    readonly record: Pick<MemoryRecord, "provenance">;
    readonly activeIdentitiesByProvider: ReadonlyMap<string, {
        readonly modelId: string;
        readonly modelRevision?: string;
    }>;
}
export declare function hasStaleModelMetadata(input: StaleModelMetadataInput): boolean;
//# sourceMappingURL=memory-validation.d.ts.map