export declare namespace $ast {
    type VmLoc = {
        readonly $: "VmLoc";
        readonly hash: hex;
        readonly offset: $number;
    };
    type VmStack = {
        readonly $: "VmStack";
        readonly stack: string;
    };
    type VmExecute = {
        readonly $: "VmExecute";
        readonly instr: string;
    };
    type VmLimitChanged = {
        readonly $: "VmLimitChanged";
        readonly limit: $number;
    };
    type VmGasRemaining = {
        readonly $: "VmGasRemaining";
        readonly gas: $number;
    };
    type VmException = {
        readonly $: "VmException";
        readonly errno: $number;
        readonly message: string;
    };
    type VmExceptionHandler = {
        readonly $: "VmExceptionHandler";
        readonly errno: $number;
    };
    type VmFinalC5 = {
        readonly $: "VmFinalC5";
        readonly value: Cell;
    };
    type VmUnknown = {
        readonly $: "VmUnknown";
        readonly text: string;
    };
    type vmLine = VmLoc | VmStack | VmExecute | VmLimitChanged | VmGasRemaining | VmException | VmExceptionHandler | VmFinalC5 | VmUnknown;
    type VmParsedStack = {
        readonly $: "VmParsedStack";
        readonly values: readonly VmStackValue[];
    };
    type VmStackValue = {
        readonly $: "VmStackValue";
        readonly value: Null | NaN | Integer | Tuple | TupleParen | Cell | Continuation | Builder | CellSlice | Unknown;
    };
    type Null = {
        readonly $: "Null";
    };
    type NaN = {
        readonly $: "NaN";
    };
    type Integer = {
        readonly $: "Integer";
        readonly value: $number;
    };
    type Tuple = {
        readonly $: "Tuple";
        readonly elements: readonly VmStackValue[];
    };
    type TupleParen = {
        readonly $: "TupleParen";
        readonly elements: readonly VmStackValue[];
    };
    type Cell = {
        readonly $: "Cell";
        readonly value: hex;
    };
    type Continuation = {
        readonly $: "Continuation";
        readonly value: string;
    };
    type Builder = {
        readonly $: "Builder";
        readonly value: hex;
    };
    type Unknown = {
        readonly $: "Unknown";
    };
    type CellSlice = {
        readonly $: "CellSlice";
        readonly body: CellSliceBody | CellSliceShortBody;
    };
    type CellSliceBody = {
        readonly $: "CellSliceBody";
        readonly value: hex;
        readonly bits: CellSliceBits;
        readonly refs: CellSliceRefs;
    };
    type CellSliceBits = {
        readonly $: "CellSliceBits";
        readonly start: $number;
        readonly end: $number;
    };
    type CellSliceRefs = {
        readonly $: "CellSliceRefs";
        readonly start: $number;
        readonly end: $number;
    };
    type CellSliceShortBody = {
        readonly $: "CellSliceShortBody";
        readonly value: hex;
    };
    type $number = {
        readonly op: "-" | undefined;
        readonly value: string;
    };
    type hex = string;
}
//# sourceMappingURL=grammar.d.ts.map