export function isTypeOf<T extends API.Scalar>(type: API.Type<T>, value: API.Scalar): value is T;
export function check<T extends API.Scalar>(type: API.Type<T>, value: API.Scalar): API.Result<API.Type, TypeError>;
export function unify(type: API.Type, other: API.Type): API.Result<API.Type, TypeError>;
export function infer(value: API.Scalar): API.Type;
export function toJSON<T extends API.Scalar>(type: API.Type<T>): API.Type<T>;
export function toString(type: API.Type): API.TypeName;
export { toJSON as inspect };
export function toTypeName(type: API.Type): API.TypeName;
export function match(type: API.Type): { [Case in keyof API.Type]: [Case, Readonly<{}>, { [K in Case]: Readonly<{}>; }]; }[keyof API.Type & string] & {};
export function unreachable(message: string): never;
export const Unit: Readonly<{}>;
export const Null: API.Type<API.Null>;
export const Boolean: API.Type<boolean>;
export const Integer: API.Type<API.Integer>;
export const Float: API.Type<API.Float>;
export const String: API.Type<string>;
export const Bytes: API.Type<API.Bytes>;
export const Referenece: API.Type<API.Reference>;
import * as API from './api.js';
//# sourceMappingURL=type.d.ts.map