import type { InternalCopier } from './copier.d.cts'; import type { Cache } from './utils.d.cts'; export interface CopierMethods { array?: InternalCopier; arrayBuffer?: InternalCopier; asyncGenerator?: InternalCopier; blob?: InternalCopier; dataView?: InternalCopier; date?: InternalCopier; error?: InternalCopier; generator?: InternalCopier; map?: InternalCopier>; object?: InternalCopier>; regExp?: InternalCopier; set?: InternalCopier>; } interface Copiers { [key: string]: InternalCopier | undefined; Arguments: InternalCopier>; Array: InternalCopier; ArrayBuffer: InternalCopier; AsyncGenerator: InternalCopier; Blob: InternalCopier; Boolean: InternalCopier; DataView: InternalCopier; Date: InternalCopier; Error: InternalCopier; Float32Array: InternalCopier; Float64Array: InternalCopier; Generator: InternalCopier; Int8Array: InternalCopier; Int16Array: InternalCopier; Int32Array: InternalCopier; Map: InternalCopier>; Number: InternalCopier; Object: InternalCopier>; Promise: InternalCopier>; RegExp: InternalCopier; Set: InternalCopier>; String: InternalCopier; WeakMap: InternalCopier>; WeakSet: InternalCopier>; Uint8Array: InternalCopier; Uint8ClampedArray: InternalCopier; Uint16Array: InternalCopier; Uint32Array: InternalCopier; Uint64Array: InternalCopier; } export interface CreateCopierOptions { createCache?: () => Cache; methods?: CopierMethods; strict?: boolean; } export interface RequiredCreateCopierOptions extends Omit, 'methods'> { copiers: Copiers; methods: Required; } export declare function createDefaultCache(): Cache; export declare function getOptions({ createCache: createCacheOverride, methods: methodsOverride, strict, }: CreateCopierOptions): RequiredCreateCopierOptions; /** * Get the copiers used for each specific object tag. */ export declare function getTagSpecificCopiers(methods: Required): Copiers; export {};