export declare enum LiteralTag { NOTHING = 1, TRUE = 2, FALSE = 3, INTEGER = 4, FLOAT_64 = 5, TEXT = 6 } export declare type Literal = LiteralNothing | LiteralFalse | LiteralTrue | LiteralInteger | LiteralFloat64 | LiteralText; export declare abstract class BaseLiteral { abstract tag: LiteralTag; } export declare class LiteralNothing extends BaseLiteral { readonly tag = LiteralTag.NOTHING; } export declare class LiteralTrue extends BaseLiteral { readonly tag = LiteralTag.TRUE; } export declare class LiteralFalse extends BaseLiteral { readonly tag = LiteralTag.FALSE; } export declare class LiteralInteger extends BaseLiteral { readonly value: bigint; readonly tag = LiteralTag.INTEGER; constructor(value: bigint); } export declare class LiteralFloat64 extends BaseLiteral { readonly value: number; readonly tag = LiteralTag.FLOAT_64; constructor(value: number); } export declare class LiteralText extends BaseLiteral { readonly value: string; readonly tag = LiteralTag.TEXT; constructor(value: string); }