import { z } from 'zod'; declare const NON_PRIMITIVE_NAMES: readonly ["function", "object"]; declare const NON_PRIMITIVE_NAME_SCHEMA: z.ZodEnum<["function", "object"]>; interface NonPrimitives { function: (..._args: unknown[]) => unknown; object: object; } type NonPrimitiveName = keyof NonPrimitives; type NonPrimitive = NonPrimitives[NonPrimitiveName]; declare const FUNCTION_SCHEMA: z.ZodFunction, z.ZodUnknown>; declare const OBJECT_SCHEMA: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; declare const NON_PRIMITIVE_SCHEMAS: { readonly function: z.ZodFunction, z.ZodUnknown>; readonly object: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; }; declare function validateNonPrimitiveName(name: unknown): asserts name is NonPrimitiveName; declare function isNonPrimitiveName(name: unknown): name is NonPrimitiveName; declare function getNonPrimitiveName(value: unknown, typeName?: T): NonPrimitiveName; declare function validateNonPrimitive(value: unknown, typeName: T): asserts value is NonPrimitives[T]; declare function isNonPrimitive(value: unknown, typeName: T): value is NonPrimitives[T]; export { FUNCTION_SCHEMA, NON_PRIMITIVE_NAMES, NON_PRIMITIVE_NAME_SCHEMA, NON_PRIMITIVE_SCHEMAS, NonPrimitive, NonPrimitiveName, NonPrimitives, OBJECT_SCHEMA, getNonPrimitiveName, isNonPrimitive, isNonPrimitiveName, validateNonPrimitive, validateNonPrimitiveName };