export type RuntimeType = "undefined" | "null" | "boolean" | "number" | "bigint" | "string" | "symbol" | "function" | "array" | "map" | "set" | "object"; export type ExpectedType = RuntimeType | "dictionary"; export type TypeMismatchIssue = { readonly kind: "type"; readonly expected: ExpectedType; readonly subject: RuntimeType; }; export type LiteralExpectation = { readonly kind: "undefined"; } | { readonly kind: "null"; } | { readonly kind: "boolean"; readonly value: boolean; } | { readonly kind: "number"; readonly value: number; } | { readonly kind: "bigint"; readonly value: string; } | { readonly kind: "string"; readonly value: string; } | { readonly kind: "opaque"; readonly type: RuntimeType; }; export declare function runtimeTypeOf(value: unknown): RuntimeType; export declare function typeMismatch(expected: ExpectedType, value: unknown): TypeMismatchIssue; export declare function literalExpectation(value: unknown): LiteralExpectation;