import type { DeepReadonly, DeepWritable, Opaque, WithOpaque } from "ts-essentials"; import type { LibraryUUIDs } from "./magic.js"; export type AnyObject = Readonly>; export interface AsyncFunctionConstructor { (...args: A): (this: unknown, ...args: A extends readonly [...infer B, unknown] ? { readonly [I in keyof B]: unknown; } : []) => Promise; new (...args: A): (this: unknown, ...args: A extends readonly [...infer B, unknown] ? { readonly [I in keyof B]: unknown; } : []) => Promise; } export type Base64String = Opaque; export type CodePoint = Opaque & { readonly codePointAt: (pos: 0) => number; }; export type Deopaque = T extends WithOpaque ? T extends Opaque ? V : never : never; export type DistributeKeys = T extends unknown ? keyof T : never; export type DistributeValues = T extends unknown ? K extends keyof T ? T[K] : never : never; export type Evaluate = T extends (...args: infer A) => infer R ? (...args: A) => R : T extends object ? T extends infer O ? { [K in keyof O]: O[K]; } : never : T; export type IsExact = (() => G extends T ? 1 : -1) extends () => G extends U ? 1 : -1 ? true : false; export type ReadonlyTuple = readonly [] | readonly [Type, ...Type[]]; export type SemVerString = Opaque; export type Unchecked = { readonly [_ in keyof T]?: unknown; }; export declare const NULL_SEM_VER_STRING: string & WithOpaque<"fec54e0c-8342-4418-bc4b-57ea4d92c3d4">; export declare function contravariant(value: readonly T[]): readonly T[]; export declare function correctType(value: Window): Window & typeof globalThis; export declare function deopaque(value: T): Deopaque; export declare function launderUnchecked(value: unknown): Unchecked; export declare function opaqueOrDefault(type: (value: T) => Opaque, value: T, defaultValue: D): D | Opaque; export declare function codePoint(value: string): CodePoint; export declare function semVerString(value: string): SemVerString; export declare function simplifyType(value: DeepWritable> | DeepWritable>): DeepWritable; export declare function simplifyType(value: DeepReadonly> | DeepReadonly>): DeepReadonly; //# sourceMappingURL=types.d.ts.map