import { type TSchema, type TSchemaOptions } from './schema.mjs'; export declare class InvalidLiteralValue extends Error { readonly cause: { value: unknown; }; constructor(value: unknown); } export type StaticLiteral = (Value); export type TLiteralTypeName = (Value extends bigint ? 'bigint' : Value extends boolean ? 'boolean' : Value extends number ? 'number' : Value extends string ? 'string' : never); export declare function LiteralTypeName(value: Value): TLiteralTypeName; export type TLiteralValue = string | number | boolean | bigint; /** Represents a Literal type. */ export interface TLiteral extends TSchema { '~kind': 'Literal'; type: TLiteralTypeName; const: Value; } /** Creates a Literal type. */ export declare function Literal(value: Value, options?: TSchemaOptions): TLiteral; /** Returns true if the given value is a TLiteralValue. */ export declare function IsLiteralValue(value: unknown): value is TLiteralValue; /** Returns true if the given value is TLiteral. */ export declare function IsLiteralBigInt(value: unknown): value is TLiteral; /** Returns true if the given value is TLiteral. */ export declare function IsLiteralBoolean(value: unknown): value is TLiteral; /** Returns true if the given value is TLiteral. */ export declare function IsLiteralNumber(value: unknown): value is TLiteral; /** Returns true if the given value is TLiteral. */ export declare function IsLiteralString(value: unknown): value is TLiteral; /** Returns true if the given value is TLiteral. */ export declare function IsLiteral(value: unknown): value is TLiteral;