import type { And, Not, Or, Xor } from '../../boolean/index.js'; import type { IsNumber, IsSuperNumber } from '../../number/index.js'; import type { IsSubtype, IsSupertype } from '../compare/index.js'; import { UNSET } from '../../_/symbols/unset.js'; export type Default = X extends UNSET ? DefaultType : X; export interface Operation { '!': Not; '&': And; '^': Xor, Default>; isNumber: IsNumber, Default>; isString: IsString, Default>; isSubtype: IsSubtype, Default>; isSuperNumber: IsSuperNumber, Default>; isSuperString: IsSuperString, Default>; isSupertype: IsSupertype, Default>; '|': Or; } export type IsString = A extends string ? T : F; export type IsSuperString = string extends A ? T : F; export type OperationPacked = [ ...args, UNSET, UNSET, UNSET, UNSET, UNSET, UNSET, UNSET, UNSET, UNSET, UNSET ] extends [ infer A, infer B, infer C, infer D, infer E, infer F, infer G, infer H, infer I, ...unknown[] ] ? Operation : never; //# sourceMappingURL=Operation.d.ts.map