import { nat } from "./primitives.js"; export declare function freeze(x: V): V; export declare function notImplemented(): never; export declare function privateConstructor(name: string): never; export declare function internalError(msg?: string): never; export declare function force(value: V | undefined | null): V; export declare function isUnicodeLetter(c: string): boolean; export declare function isDigit(c: string): boolean; export declare function isUnicodeDigit(c: string): boolean; export declare function isUnicodePunctuation(c: string): boolean; export declare function isUnicodeDelimiterOpen(c: string): boolean; export declare function isUnicodeDelimiterClose(c: string): boolean; export declare function isUnicodeMathSymbol(c: string): boolean; export declare function isUnicodeSpace(c: string): boolean; export declare function groupBy(groupOf: (elem: E) => G, elems: Iterable): [G, E[]][]; export type Printer = (line: string) => void; export declare function timeIt(label: string, op: () => R, print?: Printer): R; export declare function assertTrue(condition: boolean, message?: string): asserts condition is true; export declare function assertFalse(condition: boolean, message?: string): asserts condition is false; export declare function assertNever(value: never, message?: string): never; export declare function assertIsDefined(value: T, message?: string): asserts value is NonNullable; export type NotUndefined = T extends undefined ? never : T; export type Defined = Exclude; export declare function hexString(code: nat, minLength?: nat): string;