export declare function isNotNull(value: T | undefined | null): value is T; /** * Checks that the given tuple is exhaustive, ie. it represents all possible values in the union T. * Note that this function returns a function, so the function needs to be called like * `SpecificStrings.exhaustiveTuple()('v1', 'v2', ...)`. * If you miss a value, the type error will tell you which value you missed. * * Taken from https://stackoverflow.com/a/55266531/ * * @example * type Furniture = 'chair' | 'table' | 'lamp' | 'ottoman'; * const furniture = SpecificStrings.exhaustiveTuple()('chair', 'table', 'lamp', 'ottoman'); * * // error, argument of type '"chair"' is not assignable to parameter of type '"You are missing ottoman"'. * const missingFurniture = SpecificStrings.exhaustiveTuple()('chair', 'table', 'lamp'); */ export declare const exhaustiveTuple: () => (...x: [T] extends [L[number]] ? L : `You are missing ${Exclude}`[]) => [T] extends [L[number]] ? L : `You are missing ${Exclude}`[]; /** * See exhaustiveTuple above. Does the same thing except returns a Set, not an array. */ export declare const exhaustiveSet: () => (...x: [T] extends [L[number]] ? L : `You are missing ${Exclude}`[]) => Set<([T] extends [L[number]] ? L : `You are missing ${Exclude}`[])[number]>; //# sourceMappingURL=genericUtilFunctions.d.ts.map