import type * as core from "./core.js"; import type { $ZodType } from "./schemas.js"; export declare const $output: unique symbol; export type $output = typeof $output; export declare const $input: unique symbol; export type $input = typeof $input; export type $replace = Meta extends $output ? core.output : Meta extends $input ? core.input : Meta extends (infer M)[] ? $replace[] : Meta extends (...args: infer P) => infer R ? (...args: { [K in keyof P]: $replace; }) => $replace : Meta extends object ? { [K in keyof Meta]: $replace; } : Meta; type MetadataType = object | undefined; export declare class $ZodRegistry { _meta: Meta; _schema: Schema; _map: Map>; _idmap: Map; add(schema: S, ..._meta: undefined extends Meta ? [$replace?] : [$replace]): this; clear(): this; remove(schema: Schema): this; get(schema: S): $replace | undefined; has(schema: Schema): boolean; } export interface JSONSchemaMeta { id?: string | undefined; title?: string | undefined; description?: string | undefined; deprecated?: boolean | undefined; [k: string]: unknown; } export interface GlobalMeta extends JSONSchemaMeta { } export declare function registry(): $ZodRegistry; export declare const globalRegistry: $ZodRegistry; export {};