/** * Bounded host rejection metadata carried by the additive * `PUSH_RESULT_DETAILS` companion frame. * * Every member is deliberately code-like rather than free-form display text. * A host opts values into replication by placing them here, so references MUST * be non-sensitive identifiers that are safe for the authorized client to * persist and render. Diagnostic prose stays in the ordinary `message` field. */ export interface RejectionDetails { /** Schema/domain paths affected by the rejection. */ readonly fieldPaths?: readonly string[]; /** Stable machine reason, for example `outside_schedule_day`. */ readonly reason?: string; /** Stable recovery action, for example `edit_fields`. */ readonly requiredAction?: string; /** Explicitly safe, non-sensitive identifiers needed by recovery UI. */ readonly references?: Readonly>; } export declare const REJECTION_DETAILS_LIMITS: { readonly maxEncodedBytes: 4096; readonly maxFieldPaths: 32; readonly maxFieldPathLength: 160; readonly maxTokenLength: 96; readonly maxReferences: 16; readonly maxReferenceKeyLength: 64; readonly maxReferenceValueBytes: 256; }; /** Validate, clone, and normalize a host-supplied details object. */ export declare function normalizeRejectionDetails(value: unknown): RejectionDetails;