import type { ManualAuditLogInput } from '../interfaces/audit-entry.interface'; export type AuditInputErrorCode = 'AUDIT_INPUT_INVALID' | 'AUDIT_METADATA_TOO_LARGE'; /** A strict manual-input failure. Messages identify fields, never their values. */ export declare class AuditInputError extends Error { readonly code: AuditInputErrorCode; readonly field: string; readonly name = "AuditInputError"; constructor(code: AuditInputErrorCode, field: string, detail: string); } /** Validate opt-in settings without changing existing logging defaults. */ export declare function validateManualAuditOptions(options: { strictManualValidation?: boolean; maxMetadataBytes?: number; }): void; /** Validate identity without normalizing or trimming the value to be stored. */ export declare function validateManualIdentity(value: unknown, field: string, required?: boolean): void; /** Validate event shape; validate merged context metadata separately before redaction. */ export declare function validateManualAuditInput(input: unknown): asserts input is ManualAuditLogInput; /** * Validate JSON data before recursive redaction. Reject silent JSON coercion or * omission; valid Dates retain JSON's normal ISO serialization. Shared references * are permitted, but an object cannot refer to an ancestor in the current path. */ export declare function validateManualMetadata(value: unknown, path?: string): void; /** Apply the size budget to the final redacted JSON, without truncating evidence. */ export declare function enforceManualMetadataSize(json: string | null, maxMetadataBytes?: number): void; //# sourceMappingURL=manual-audit-validation.d.ts.map