import type { ComputeObject } from '../../types/computeObject.js'; import type { AnySchema } from '../any/index.js'; import type { AnyOfSchema } from '../anyOf/index.js'; import type { BinarySchema } from '../binary/index.js'; import type { BooleanSchema } from '../boolean/index.js'; import type { ListSchema } from '../list/index.js'; import type { MapSchema } from '../map/index.js'; import type { NullSchema } from '../null/index.js'; import type { NumberSchema } from '../number/index.js'; import type { RecordSchema } from '../record/index.js'; import type { SetSchema } from '../set/index.js'; import type { StringSchema } from '../string/index.js'; import type { Schema } from '../types/index.js'; export type Light = SCHEMA extends AnySchema ? AnySchema : SCHEMA extends NullSchema ? NullSchema : SCHEMA extends BooleanSchema ? BooleanSchema : SCHEMA extends NumberSchema ? NumberSchema : SCHEMA extends StringSchema ? StringSchema : SCHEMA extends BinarySchema ? BinarySchema : SCHEMA extends SetSchema ? SetSchema : SCHEMA extends ListSchema ? ListSchema : SCHEMA extends MapSchema ? MapSchema : SCHEMA extends RecordSchema ? RecordSchema : SCHEMA extends AnyOfSchema ? AnyOfSchema : never; type Lightener = (schema: SCHEMA) => Light; export declare const light: Lightener; export type LightTuple = SCHEMAS extends [ infer SCHEMAS_HEAD extends Schema, ...infer SCHEMAS_TAIL extends Schema[] ] ? LightTuple]> : RESULTS; type TupleLightener = (...schemas: SCHEMAS) => LightTuple; export declare const lightTuple: TupleLightener; export type LightObj = ComputeObject<{ [KEY in keyof SCHEMAS]: Light; }>; type ObjLightener = (schemas: SCHEMAS) => LightObj; export declare const lightObj: ObjLightener; export {};