import type { JsonPrimitive, Limits } from './types.js'; export interface SecurityOptionsLike { maxDepth?: number; maxArrayLength?: number; maxTotalNodes?: number; disallowedKeys?: string[]; maxInputLength?: number; } export declare function applyLimits(options: SecurityOptionsLike): Limits; export declare function enforceInputLength(text: string, options?: SecurityOptionsLike): void; export declare function bumpNodes(state: { nodes: number; }, limits: Limits, count: number, lineNo?: number): void; export declare function enforceLimits(depth: number, limits: Limits, state: { nodes: number; }): void; /** * Depth-only guard. Use this in encoder helpers that have already been * accounted for by their caller (e.g. `encodeArray`/`encodeObject` reached * via `encodeValue`, which already bumped a node). */ export declare function enforceDepth(depth: number, limits: Limits): void; export declare function validateKeySafety(key: string, limits?: Limits, lineNo?: number): void; export declare function createSafeObject(): Record; export declare function isPrimitive(value: unknown): value is JsonPrimitive; export declare function isPlainObject(value: unknown): value is Record; export declare function detectTabular(arr: unknown[]): { fields: string[]; rows: Record[]; } | null; //# sourceMappingURL=security.d.ts.map