import { type TSchema } from '../../types/schema.mjs'; import { type TInfer } from '../../types/infer.mjs'; import { type TNever } from '../../types/never.mjs'; import { type TRest } from '../../types/rest.mjs'; import { type TRef } from '../../types/ref.mjs'; import { type TTuple } from '../../types/tuple.mjs'; type TSpreadElement ? (Rest extends TTuple ? TRestSpread : Rest extends TInfer ? [Type] : Rest extends TRef ? [Type] : [ TNever ]) : [Type])> = Result; export type TRestSpread = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TRestSpread]> : Result); export declare function RestSpread(types: [...Types]): TRestSpread; export {};