export type LiteralType = T extends string ? T & string : T extends number ? T & number : T extends boolean ? boolean : T extends symbol ? T & symbol : T extends Function ? T : T extends Array ? Array : T extends Record ? Record : T; export type Primitives = string | number | boolean | symbol; export type AlmostAnything = string | number | boolean | symbol | Primitives[] | Record | Object; export type TypeOrReturnType = T extends (...args: any[]) => infer R ? R : T; export type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; export type IsUnion = [T] extends [UnionToIntersection] ? false : true; export type PlexusWatchableValueInterpreter = Value extends (...args: any) => any ? ReturnType : Value; export declare type AsyncState = { loading: boolean; error?: undefined; value?: undefined; } | { loading: true; error?: Error | undefined; value?: T; } | { loading: false; error: Error; value?: undefined; } | { loading: false; error?: undefined; value: T; }; export declare type FunctionReturningPromise = (...args: any[]) => Promise; export declare type PromiseType

> = P extends Promise ? T : never; declare type StateFromFunctionReturningPromise = AsyncState>>; export declare type AsyncFnReturn = [StateFromFunctionReturningPromise, T]; export {}; //# sourceMappingURL=types.d.ts.map