import { If, Not } from "../../boolean"; import { Serializable } from "../../string"; import { Extends, IsNever, Unreachable } from "../../type"; import { IsFractional, IsNegative } from ".."; declare const TS_TYPE_ERROR: unique symbol; type TS_TYPE_ERROR = { [TS_TYPE_ERROR]: M; }; type ResolveName = IsNever extends true ? 'N' : S; /** * @since 0.0.2 */ export type ValidatePosInt = If, TS_TYPE_ERROR<`expected a positive integer for ${ResolveName} but found \`never\``>, If>, TS_TYPE_ERROR} but found non-number type \`${N}\`` : `expected a positive integer for ${ResolveName} but a non-number type was provided`>, [ N ] extends [infer N extends number] ? If, TS_TYPE_ERROR<`expected a positive integer for ${ResolveName} but found \`number\`. ${ResolveName} must be a number literal`>, If, TS_TYPE_ERROR<`expected a positive integer for ${ResolveName} but found non-integer number \`${N}\``>, If, TS_TYPE_ERROR<`expected a positive integer for ${ResolveName} but found negative integer \`${N}\``>, If, TS_TYPE_ERROR<`expected a positive integer for ${ResolveName} but found \`0\`. 0 is not a positive integer`>, number>>>> : Unreachable>>; /** * @since 0.0.2 */ export type ValidateNonnegInt = If, TS_TYPE_ERROR<`expected a nonnegative integer for ${ResolveName} but found \`never\``>, If>, TS_TYPE_ERROR} but found non-number type \`${N}\`` : `expected a nonnegative integer for ${ResolveName} but a non-number type was provided`>, [ N ] extends [infer N extends number] ? If, TS_TYPE_ERROR<`expected a nonnegative integer for ${ResolveName} but found \`number\`. ${ResolveName} must be a number literal`>, If, TS_TYPE_ERROR<`expected a nonnegative integer for ${ResolveName} but found non-integer number \`${N}\``>, If, TS_TYPE_ERROR<`expected a nonnegative integer for ${ResolveName} but found negative integer \`${N}\``>, number>>> : Unreachable>>; /** * @since 0.0.2 */ export type ValidateInt = If, TS_TYPE_ERROR<`expected an integer for ${ResolveName} but found \`never\``>, If>, TS_TYPE_ERROR} but found non-number type \`${N}\`` : `expected an integer for ${ResolveName} but a non-number type was provided`>, [ N ] extends [infer N extends number] ? If, TS_TYPE_ERROR<`expected a positive integer for ${ResolveName} but found \`number\`. ${ResolveName} must be a number literal`>, If, TS_TYPE_ERROR<`expected a positive integer for ${ResolveName} but found non-integer number \`${N}\``>, number>> : Unreachable>>; export {}; //# sourceMappingURL=_validate.d.ts.map