/** True for null, undefined, or a string that is empty after trimming. */ declare const isValueEmpty: (value: string | null | undefined) => boolean; /** * Structural equality, within the schema extraction limits: objects and lists nested more * than 10 levels deep, past the 10,000th compared in one call, or past 10,000 compared * properties, are treated as not equal (unless they are the same reference), so a huge * payload cannot overflow the stack or block. Binary data is compared by its bytes, never * enumerated. */ declare function deepEquals(x: any, y: any): boolean; /** A schema as printed in debug logs: `{`, one `\t"name": "type"` per property (`;`-separated), `}`. */ declare const formatSchema: (schema: Array<{ propertyName: string; propertyType: string; }>) => string; /** Trims a gateway option value; anything that is not a non-blank string is absent. */ declare const normalizeOption: (value: unknown) => string | undefined; /** * No control character (Unicode Cc: C0, DEL, C1) may reach a header value; CR, LF and NUL * would split or end the header field. Tab is the one exception: it is valid in a value. */ declare const hasHeaderControlChar: (value: string) => boolean; /** Node sends header values as Latin-1 and throws synchronously on anything above U+00FF. */ declare const hasNonLatin1Char: (value: string) => boolean; /** * Milliseconds from a monotonic clock (process.hrtime): only differences are meaningful, and * they never jump with wall-clock changes. Shared by the deduplicator, AvoLog and the exit * drain deadline. */ declare const monotonicNowMs: () => number; export { monotonicNowMs, isValueEmpty, deepEquals, formatSchema, normalizeOption, hasHeaderControlChar, hasNonLatin1Char };