import { TypeGuardFn } from '../typeguards/isType'; export type TypeGuardWrapperKind = 'undefinedOr' | 'nullOr' | 'nilOr'; export type TypeGuardMeta = { schema?: Record>; itemGuard?: TypeGuardFn; innerGuard?: TypeGuardFn; wrapperKind?: TypeGuardWrapperKind; }; export type TypeGuardWithMeta = TypeGuardFn & TypeGuardMeta; export declare const getTypeGuardSchema: (typeGuardFn: TypeGuardFn) => Record> | undefined; export declare const getTypeGuardItemGuard: (typeGuardFn: TypeGuardFn) => TypeGuardFn | undefined; export declare const getTypeGuardInnerGuard: (typeGuardFn: TypeGuardFn) => TypeGuardFn | undefined; export declare const getTypeGuardWrapperKind: (typeGuardFn: TypeGuardFn) => TypeGuardWrapperKind | undefined; export declare const isNestedObjectTypeGuard: (typeGuardFn: TypeGuardFn) => boolean; export declare const isArrayTypeGuard: (typeGuardFn: TypeGuardFn) => boolean; export declare const attachTypeGuardMeta: (typeGuardFn: TypeGuardFn, meta: TypeGuardMeta) => TypeGuardFn;