type Nullable<T> = T | null;
export interface ASTNodeIntf {
    kind: ASTKinds;
}
export declare enum ASTKinds {
    Choice_1 = "Choice_1",
    Choice_2 = "Choice_2",
    Choice_3 = "Choice_3",
    Choice_4 = "Choice_4",
    Choice_5 = "Choice_5",
    Choice_6 = "Choice_6",
    Choice_7 = "Choice_7",
    Choice_8 = "Choice_8",
    Choice_9 = "Choice_9",
    Choice_10 = "Choice_10",
    Choice_11 = "Choice_11",
    Choice_12 = "Choice_12",
    Choice_13 = "Choice_13",
    Choice_14 = "Choice_14",
    Choice_15 = "Choice_15",
    Choice_16 = "Choice_16",
    Choice_17 = "Choice_17",
    Choice_18 = "Choice_18",
    Choice_19 = "Choice_19",
    Choice_20 = "Choice_20",
    Choice_21 = "Choice_21",
    Choice_22 = "Choice_22",
    Choice_23 = "Choice_23",
    Choice_24 = "Choice_24",
    Choice_25 = "Choice_25",
    Choice_26 = "Choice_26",
    Choice_27 = "Choice_27",
    Choice_28 = "Choice_28",
    Choice_29 = "Choice_29",
    BlankLine = "BlankLine",
    CanSignalGroup = "CanSignalGroup",
    CanSignalGroup_$0 = "CanSignalGroup_$0",
    CanSignalGroup_$1 = "CanSignalGroup_$1",
    CanSignalGroup_$2 = "CanSignalGroup_$2",
    CanSignalGroup_$3 = "CanSignalGroup_$3",
    MessageTransmitter = "MessageTransmitter",
    MessageTransmitter_$0 = "MessageTransmitter_$0",
    MessageTransmitter_$1 = "MessageTransmitter_$1",
    CanEnvironmentVariable = "CanEnvironmentVariable",
    CanEnvironmentVariable_$0 = "CanEnvironmentVariable_$0",
    CanEnvironmentVariable_$1 = "CanEnvironmentVariable_$1",
    CanEnvironmentVariable_$2 = "CanEnvironmentVariable_$2",
    CanEnvironmentVariable_$3 = "CanEnvironmentVariable_$3",
    CanEnvironmentVariable_$4 = "CanEnvironmentVariable_$4",
    CanEnvironmentVariable_$5 = "CanEnvironmentVariable_$5",
    CanEnvironmentVariable_$6 = "CanEnvironmentVariable_$6",
    CanEnvironmentVariable_$7 = "CanEnvironmentVariable_$7",
    CanEnvironmentVariable_$8 = "CanEnvironmentVariable_$8",
    EnvironmentVarData = "EnvironmentVarData",
    EnvironmentVarData_$0 = "EnvironmentVarData_$0",
    EnvironmentVarData_$1 = "EnvironmentVarData_$1",
    EnvironmentVariableComment = "EnvironmentVariableComment",
    EnvironmentVariableComment_$0 = "EnvironmentVariableComment_$0",
    EnvironmentVariableComment_$1 = "EnvironmentVariableComment_$1",
    Version = "Version",
    Version_$0 = "Version_$0",
    NewSymbol = "NewSymbol",
    BusSpeed = "BusSpeed",
    NewSymbolValue = "NewSymbolValue",
    NewSymbolValue_$0 = "NewSymbolValue_$0",
    CanNode = "CanNode",
    CanNode_$0 = "CanNode_$0",
    CanMessage = "CanMessage",
    CanMessage_$0 = "CanMessage_$0",
    CanMessage_$1 = "CanMessage_$1",
    CanMessage_$2 = "CanMessage_$2",
    CanMessage_$3 = "CanMessage_$3",
    CanSignal = "CanSignal",
    CanSignal_$0 = "CanSignal_$0",
    CanSignal_$1 = "CanSignal_$1",
    CanSignal_$2 = "CanSignal_$2",
    CanSignal_$3 = "CanSignal_$3",
    CanSignal_$4 = "CanSignal_$4",
    CanSignal_$5 = "CanSignal_$5",
    CanSignal_$6 = "CanSignal_$6",
    CanSignal_$7 = "CanSignal_$7",
    CanSignal_$8 = "CanSignal_$8",
    CanSignal_$9 = "CanSignal_$9",
    CanSignal_$10 = "CanSignal_$10",
    CanSignal_$11 = "CanSignal_$11",
    SignalMultiplexVal = "SignalMultiplexVal",
    SignalMultiplexVal_$0 = "SignalMultiplexVal_$0",
    SignalMultiplexVal_$1 = "SignalMultiplexVal_$1",
    SignalMultiplexVal_$2 = "SignalMultiplexVal_$2",
    SignalMultiplexVal_$3 = "SignalMultiplexVal_$3",
    ValTable = "ValTable",
    ValTable_$0 = "ValTable_$0",
    ValTable_$1 = "ValTable_$1",
    Val = "Val",
    Val_$0 = "Val_$0",
    Val_$1 = "Val_$1",
    Val_$2 = "Val_$2",
    EnvironmentVal = "EnvironmentVal",
    EnvironmentVal_$0 = "EnvironmentVal_$0",
    EnvironmentVal_$1 = "EnvironmentVal_$1",
    Comment = "Comment",
    Comment_$0 = "Comment_$0",
    SignalComment = "SignalComment",
    SignalComment_$0 = "SignalComment_$0",
    SignalComment_$1 = "SignalComment_$1",
    SignalComment_$2 = "SignalComment_$2",
    MessageComment = "MessageComment",
    MessageComment_$0 = "MessageComment_$0",
    MessageComment_$1 = "MessageComment_$1",
    NodeComment = "NodeComment",
    NodeComment_$0 = "NodeComment_$0",
    NodeComment_$1 = "NodeComment_$1",
    GlobalAttribute = "GlobalAttribute",
    GlobalAttribute_$0 = "GlobalAttribute_$0",
    GlobalAttribute_$1 = "GlobalAttribute_$1",
    GlobalAttribute_$2 = "GlobalAttribute_$2",
    MessageAttribute = "MessageAttribute",
    MessageAttribute_$0 = "MessageAttribute_$0",
    MessageAttribute_$1 = "MessageAttribute_$1",
    MessageAttribute_$2 = "MessageAttribute_$2",
    EnvironmentAttribute = "EnvironmentAttribute",
    EnvironmentAttribute_$0 = "EnvironmentAttribute_$0",
    EnvironmentAttribute_$1 = "EnvironmentAttribute_$1",
    EnvironmentAttribute_$2 = "EnvironmentAttribute_$2",
    NodeAttribute = "NodeAttribute",
    NodeAttribute_$0 = "NodeAttribute_$0",
    NodeAttribute_$1 = "NodeAttribute_$1",
    NodeAttribute_$2 = "NodeAttribute_$2",
    SignalAttribute = "SignalAttribute",
    SignalAttribute_$0 = "SignalAttribute_$0",
    SignalAttribute_$1 = "SignalAttribute_$1",
    SignalAttribute_$2 = "SignalAttribute_$2",
    AttributeDefault = "AttributeDefault",
    AttributeDefault_$0 = "AttributeDefault_$0",
    AttributeDefault_$1 = "AttributeDefault_$1",
    AttributeValue = "AttributeValue",
    AttributeValue_$0 = "AttributeValue_$0",
    AttributeValue_$1 = "AttributeValue_$1",
    SigValType = "SigValType",
    SigValType_$0 = "SigValType_$0",
    SigValType_$1 = "SigValType_$1",
    SigValType_$2 = "SigValType_$2",
    $EOF = "$EOF"
}
export type Choice = Choice_1 | Choice_2 | Choice_3 | Choice_4 | Choice_5 | Choice_6 | Choice_7 | Choice_8 | Choice_9 | Choice_10 | Choice_11 | Choice_12 | Choice_13 | Choice_14 | Choice_15 | Choice_16 | Choice_17 | Choice_18 | Choice_19 | Choice_20 | Choice_21 | Choice_22 | Choice_23 | Choice_24 | Choice_25 | Choice_26 | Choice_27 | Choice_28 | Choice_29;
export type Choice_1 = CanNode;
export type Choice_2 = CanMessage;
export type Choice_3 = SignalMultiplexVal;
export type Choice_4 = CanSignal;
export type Choice_5 = ValTable;
export type Choice_6 = Val;
export type Choice_7 = SignalComment;
export type Choice_8 = MessageComment;
export type Choice_9 = NodeComment;
export type Choice_10 = GlobalAttribute;
export type Choice_11 = MessageAttribute;
export type Choice_12 = SignalAttribute;
export type Choice_13 = NodeAttribute;
export type Choice_14 = AttributeDefault;
export type Choice_15 = AttributeValue;
export type Choice_16 = Version;
export type Choice_17 = NewSymbolValue;
export type Choice_18 = BlankLine;
export type Choice_19 = NewSymbol;
export type Choice_20 = BusSpeed;
export type Choice_21 = Comment;
export type Choice_22 = CanEnvironmentVariable;
export type Choice_23 = EnvironmentVarData;
export type Choice_24 = EnvironmentVariableComment;
export type Choice_25 = MessageTransmitter;
export type Choice_26 = EnvironmentAttribute;
export type Choice_27 = EnvironmentVal;
export type Choice_28 = CanSignalGroup;
export type Choice_29 = SigValType;
export interface BlankLine {
    kind: ASTKinds.BlankLine;
}
export declare class CanSignalGroup {
    kind: ASTKinds.CanSignalGroup;
    raw_id: CanSignalGroup_$0;
    name: CanSignalGroup_$1;
    raw_group_number: CanSignalGroup_$2;
    raw_signal_string: CanSignalGroup_$3;
    signals: string[];
    id: number;
    group_number: number;
    constructor(raw_id: CanSignalGroup_$0, name: CanSignalGroup_$1, raw_group_number: CanSignalGroup_$2, raw_signal_string: CanSignalGroup_$3);
}
export type CanSignalGroup_$0 = string;
export type CanSignalGroup_$1 = string;
export type CanSignalGroup_$2 = string;
export type CanSignalGroup_$3 = string;
export declare class MessageTransmitter {
    kind: ASTKinds.MessageTransmitter;
    raw_id: MessageTransmitter_$0;
    raw_nodes: MessageTransmitter_$1;
    id: number;
    nodes: string[];
    constructor(raw_id: MessageTransmitter_$0, raw_nodes: MessageTransmitter_$1);
}
export type MessageTransmitter_$0 = string;
export type MessageTransmitter_$1 = string;
export declare class CanEnvironmentVariable {
    kind: ASTKinds.CanEnvironmentVariable;
    name: CanEnvironmentVariable_$0;
    type: CanEnvironmentVariable_$1;
    raw_min: CanEnvironmentVariable_$2;
    raw_max: CanEnvironmentVariable_$3;
    raw_unit: CanEnvironmentVariable_$4;
    raw_inital_value: CanEnvironmentVariable_$5;
    raw_ev_id: CanEnvironmentVariable_$6;
    access_type: CanEnvironmentVariable_$7;
    node: CanEnvironmentVariable_$8;
    min: number;
    max: number;
    unit: string;
    initial_value: number;
    ev_id: number;
    constructor(name: CanEnvironmentVariable_$0, type: CanEnvironmentVariable_$1, raw_min: CanEnvironmentVariable_$2, raw_max: CanEnvironmentVariable_$3, raw_unit: CanEnvironmentVariable_$4, raw_inital_value: CanEnvironmentVariable_$5, raw_ev_id: CanEnvironmentVariable_$6, access_type: CanEnvironmentVariable_$7, node: CanEnvironmentVariable_$8);
}
export type CanEnvironmentVariable_$0 = string;
export type CanEnvironmentVariable_$1 = string;
export type CanEnvironmentVariable_$2 = string;
export type CanEnvironmentVariable_$3 = string;
export type CanEnvironmentVariable_$4 = string;
export type CanEnvironmentVariable_$5 = string;
export type CanEnvironmentVariable_$6 = string;
export type CanEnvironmentVariable_$7 = string;
export type CanEnvironmentVariable_$8 = string;
export declare class EnvironmentVarData {
    kind: ASTKinds.EnvironmentVarData;
    name: EnvironmentVarData_$0;
    raw_value: EnvironmentVarData_$1;
    value: number;
    constructor(name: EnvironmentVarData_$0, raw_value: EnvironmentVarData_$1);
}
export type EnvironmentVarData_$0 = string;
export type EnvironmentVarData_$1 = string;
export declare class EnvironmentVariableComment {
    kind: ASTKinds.EnvironmentVariableComment;
    name: EnvironmentVariableComment_$0;
    raw_comment: EnvironmentVariableComment_$1;
    comment: string;
    constructor(name: EnvironmentVariableComment_$0, raw_comment: EnvironmentVariableComment_$1);
}
export type EnvironmentVariableComment_$0 = string;
export type EnvironmentVariableComment_$1 = string;
export declare class Version {
    kind: ASTKinds.Version;
    raw_version: Version_$0;
    version: string;
    constructor(raw_version: Version_$0);
}
export type Version_$0 = string;
export type NewSymbol = string;
export type BusSpeed = string;
export interface NewSymbolValue {
    kind: ASTKinds.NewSymbolValue;
    symbol: NewSymbolValue_$0;
}
export type NewSymbolValue_$0 = string;
export declare class CanNode {
    kind: ASTKinds.CanNode;
    raw_node_string: CanNode_$0;
    node_names: string[];
    constructor(raw_node_string: CanNode_$0);
}
export type CanNode_$0 = string;
export declare class CanMessage {
    kind: ASTKinds.CanMessage;
    raw_id: CanMessage_$0;
    name: CanMessage_$1;
    raw_dlc: CanMessage_$2;
    node: CanMessage_$3;
    id: number;
    dlc: number;
    constructor(raw_id: CanMessage_$0, name: CanMessage_$1, raw_dlc: CanMessage_$2, node: CanMessage_$3);
}
export type CanMessage_$0 = string;
export type CanMessage_$1 = string;
export type CanMessage_$2 = string;
export type CanMessage_$3 = string;
export declare class CanSignal {
    kind: ASTKinds.CanSignal;
    name: CanSignal_$0;
    multiplex: CanSignal_$1;
    raw_start_bit: CanSignal_$2;
    raw_length: CanSignal_$3;
    raw_endian: CanSignal_$4;
    raw_signed: CanSignal_$5;
    raw_factor: CanSignal_$6;
    raw_offset: CanSignal_$7;
    raw_min: CanSignal_$8;
    raw_max: CanSignal_$9;
    raw_unit: CanSignal_$10;
    raw_node_str: CanSignal_$11;
    multiplexer: boolean;
    unit: string;
    nodes: string[];
    start_bit: number;
    length: number;
    endian: string;
    signed: boolean;
    factor: number;
    offset: number;
    min: number;
    max: number;
    constructor(name: CanSignal_$0, multiplex: CanSignal_$1, raw_start_bit: CanSignal_$2, raw_length: CanSignal_$3, raw_endian: CanSignal_$4, raw_signed: CanSignal_$5, raw_factor: CanSignal_$6, raw_offset: CanSignal_$7, raw_min: CanSignal_$8, raw_max: CanSignal_$9, raw_unit: CanSignal_$10, raw_node_str: CanSignal_$11);
}
export type CanSignal_$0 = string;
export type CanSignal_$1 = string;
export type CanSignal_$2 = string;
export type CanSignal_$3 = string;
export type CanSignal_$4 = string;
export type CanSignal_$5 = string;
export type CanSignal_$6 = string;
export type CanSignal_$7 = string;
export type CanSignal_$8 = string;
export type CanSignal_$9 = string;
export type CanSignal_$10 = string;
export type CanSignal_$11 = string;
export declare class SignalMultiplexVal {
    kind: ASTKinds.SignalMultiplexVal;
    raw_id: SignalMultiplexVal_$0;
    name: SignalMultiplexVal_$1;
    switch_name: SignalMultiplexVal_$2;
    raw_value_ranges: SignalMultiplexVal_$3;
    id: number;
    value_ranges: string[][];
    constructor(raw_id: SignalMultiplexVal_$0, name: SignalMultiplexVal_$1, switch_name: SignalMultiplexVal_$2, raw_value_ranges: SignalMultiplexVal_$3);
}
export type SignalMultiplexVal_$0 = string;
export type SignalMultiplexVal_$1 = string;
export type SignalMultiplexVal_$2 = string;
export type SignalMultiplexVal_$3 = string;
export declare class ValTable {
    kind: ASTKinds.ValTable;
    name: ValTable_$0;
    raw_table: ValTable_$1;
    enum: Map<number, string>;
    constructor(name: ValTable_$0, raw_table: ValTable_$1);
}
export type ValTable_$0 = string;
export type ValTable_$1 = string;
export declare class Val {
    kind: ASTKinds.Val;
    raw_id: Val_$0;
    name: Val_$1;
    raw_table: Val_$2;
    id: number;
    enum: Map<number, string>;
    constructor(raw_id: Val_$0, name: Val_$1, raw_table: Val_$2);
}
export type Val_$0 = string;
export type Val_$1 = string;
export type Val_$2 = string;
export declare class EnvironmentVal {
    kind: ASTKinds.EnvironmentVal;
    name: EnvironmentVal_$0;
    raw_table: EnvironmentVal_$1;
    enum: Map<number, string>;
    constructor(name: EnvironmentVal_$0, raw_table: EnvironmentVal_$1);
}
export type EnvironmentVal_$0 = string;
export type EnvironmentVal_$1 = string;
export declare class Comment {
    kind: ASTKinds.Comment;
    raw_comment: Comment_$0;
    comment: string;
    constructor(raw_comment: Comment_$0);
}
export type Comment_$0 = string;
export declare class SignalComment {
    kind: ASTKinds.SignalComment;
    raw_id: SignalComment_$0;
    name: SignalComment_$1;
    raw_comment: SignalComment_$2;
    comment: string;
    id: number;
    constructor(raw_id: SignalComment_$0, name: SignalComment_$1, raw_comment: SignalComment_$2);
}
export type SignalComment_$0 = string;
export type SignalComment_$1 = string;
export type SignalComment_$2 = string;
export declare class MessageComment {
    kind: ASTKinds.MessageComment;
    raw_id: MessageComment_$0;
    raw_comment: MessageComment_$1;
    comment: string;
    id: number;
    constructor(raw_id: MessageComment_$0, raw_comment: MessageComment_$1);
}
export type MessageComment_$0 = string;
export type MessageComment_$1 = string;
export declare class NodeComment {
    kind: ASTKinds.NodeComment;
    name: NodeComment_$0;
    raw_comment: NodeComment_$1;
    comment: string;
    constructor(name: NodeComment_$0, raw_comment: NodeComment_$1);
}
export type NodeComment_$0 = string;
export type NodeComment_$1 = string;
export declare class GlobalAttribute {
    kind: ASTKinds.GlobalAttribute;
    name: GlobalAttribute_$0;
    type: GlobalAttribute_$1;
    raw_value: GlobalAttribute_$2;
    min: number;
    max: number;
    enum: string[];
    constructor(name: GlobalAttribute_$0, type: GlobalAttribute_$1, raw_value: GlobalAttribute_$2);
}
export type GlobalAttribute_$0 = string;
export type GlobalAttribute_$1 = string;
export type GlobalAttribute_$2 = string;
export declare class MessageAttribute {
    kind: ASTKinds.MessageAttribute;
    name: MessageAttribute_$0;
    type: MessageAttribute_$1;
    raw_value: MessageAttribute_$2;
    min: number;
    max: number;
    enum: string[];
    constructor(name: MessageAttribute_$0, type: MessageAttribute_$1, raw_value: MessageAttribute_$2);
}
export type MessageAttribute_$0 = string;
export type MessageAttribute_$1 = string;
export type MessageAttribute_$2 = string;
export declare class EnvironmentAttribute {
    kind: ASTKinds.EnvironmentAttribute;
    name: EnvironmentAttribute_$0;
    type: EnvironmentAttribute_$1;
    raw_value: EnvironmentAttribute_$2;
    min: number;
    max: number;
    enum: string[];
    constructor(name: EnvironmentAttribute_$0, type: EnvironmentAttribute_$1, raw_value: EnvironmentAttribute_$2);
}
export type EnvironmentAttribute_$0 = string;
export type EnvironmentAttribute_$1 = string;
export type EnvironmentAttribute_$2 = string;
export declare class NodeAttribute {
    kind: ASTKinds.NodeAttribute;
    name: NodeAttribute_$0;
    type: NodeAttribute_$1;
    raw_value: NodeAttribute_$2;
    min: number;
    max: number;
    enum: string[];
    constructor(name: NodeAttribute_$0, type: NodeAttribute_$1, raw_value: NodeAttribute_$2);
}
export type NodeAttribute_$0 = string;
export type NodeAttribute_$1 = string;
export type NodeAttribute_$2 = string;
export declare class SignalAttribute {
    kind: ASTKinds.SignalAttribute;
    name: SignalAttribute_$0;
    type: SignalAttribute_$1;
    raw_value: SignalAttribute_$2;
    min: number;
    max: number;
    enum: string[];
    constructor(name: SignalAttribute_$0, type: SignalAttribute_$1, raw_value: SignalAttribute_$2);
}
export type SignalAttribute_$0 = string;
export type SignalAttribute_$1 = string;
export type SignalAttribute_$2 = string;
export declare class AttributeDefault {
    kind: ASTKinds.AttributeDefault;
    name: AttributeDefault_$0;
    raw_value: AttributeDefault_$1;
    value: string;
    constructor(name: AttributeDefault_$0, raw_value: AttributeDefault_$1);
}
export type AttributeDefault_$0 = string;
export type AttributeDefault_$1 = string;
export declare class AttributeValue {
    kind: ASTKinds.AttributeValue;
    name: AttributeValue_$0;
    raw: AttributeValue_$1;
    type: string;
    node: string;
    id: number;
    signal: string;
    value: string;
    constructor(name: AttributeValue_$0, raw: AttributeValue_$1);
}
export type AttributeValue_$0 = string;
export type AttributeValue_$1 = string;
export declare class SigValType {
    kind: ASTKinds.SigValType;
    raw_id: SigValType_$0;
    name: SigValType_$1;
    raw_type: SigValType_$2;
    id: number;
    type: number;
    constructor(raw_id: SigValType_$0, name: SigValType_$1, raw_type: SigValType_$2);
}
export type SigValType_$0 = string;
export type SigValType_$1 = string;
export type SigValType_$2 = string;
export declare class Parser {
    private readonly input;
    private pos;
    private negating;
    private memoSafe;
    constructor(input: string);
    reset(pos: PosInfo): void;
    finished(): boolean;
    clearMemos(): void;
    matchChoice($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice>;
    matchChoice_1($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_1>;
    matchChoice_2($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_2>;
    matchChoice_3($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_3>;
    matchChoice_4($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_4>;
    matchChoice_5($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_5>;
    matchChoice_6($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_6>;
    matchChoice_7($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_7>;
    matchChoice_8($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_8>;
    matchChoice_9($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_9>;
    matchChoice_10($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_10>;
    matchChoice_11($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_11>;
    matchChoice_12($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_12>;
    matchChoice_13($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_13>;
    matchChoice_14($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_14>;
    matchChoice_15($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_15>;
    matchChoice_16($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_16>;
    matchChoice_17($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_17>;
    matchChoice_18($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_18>;
    matchChoice_19($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_19>;
    matchChoice_20($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_20>;
    matchChoice_21($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_21>;
    matchChoice_22($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_22>;
    matchChoice_23($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_23>;
    matchChoice_24($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_24>;
    matchChoice_25($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_25>;
    matchChoice_26($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_26>;
    matchChoice_27($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_27>;
    matchChoice_28($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_28>;
    matchChoice_29($$dpth: number, $$cr?: ErrorTracker): Nullable<Choice_29>;
    matchBlankLine($$dpth: number, $$cr?: ErrorTracker): Nullable<BlankLine>;
    matchCanSignalGroup($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignalGroup>;
    matchCanSignalGroup_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignalGroup_$0>;
    matchCanSignalGroup_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignalGroup_$1>;
    matchCanSignalGroup_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignalGroup_$2>;
    matchCanSignalGroup_$3($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignalGroup_$3>;
    matchMessageTransmitter($$dpth: number, $$cr?: ErrorTracker): Nullable<MessageTransmitter>;
    matchMessageTransmitter_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<MessageTransmitter_$0>;
    matchMessageTransmitter_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<MessageTransmitter_$1>;
    matchCanEnvironmentVariable($$dpth: number, $$cr?: ErrorTracker): Nullable<CanEnvironmentVariable>;
    matchCanEnvironmentVariable_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<CanEnvironmentVariable_$0>;
    matchCanEnvironmentVariable_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<CanEnvironmentVariable_$1>;
    matchCanEnvironmentVariable_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<CanEnvironmentVariable_$2>;
    matchCanEnvironmentVariable_$3($$dpth: number, $$cr?: ErrorTracker): Nullable<CanEnvironmentVariable_$3>;
    matchCanEnvironmentVariable_$4($$dpth: number, $$cr?: ErrorTracker): Nullable<CanEnvironmentVariable_$4>;
    matchCanEnvironmentVariable_$5($$dpth: number, $$cr?: ErrorTracker): Nullable<CanEnvironmentVariable_$5>;
    matchCanEnvironmentVariable_$6($$dpth: number, $$cr?: ErrorTracker): Nullable<CanEnvironmentVariable_$6>;
    matchCanEnvironmentVariable_$7($$dpth: number, $$cr?: ErrorTracker): Nullable<CanEnvironmentVariable_$7>;
    matchCanEnvironmentVariable_$8($$dpth: number, $$cr?: ErrorTracker): Nullable<CanEnvironmentVariable_$8>;
    matchEnvironmentVarData($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentVarData>;
    matchEnvironmentVarData_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentVarData_$0>;
    matchEnvironmentVarData_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentVarData_$1>;
    matchEnvironmentVariableComment($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentVariableComment>;
    matchEnvironmentVariableComment_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentVariableComment_$0>;
    matchEnvironmentVariableComment_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentVariableComment_$1>;
    matchVersion($$dpth: number, $$cr?: ErrorTracker): Nullable<Version>;
    matchVersion_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<Version_$0>;
    matchNewSymbol($$dpth: number, $$cr?: ErrorTracker): Nullable<NewSymbol>;
    matchBusSpeed($$dpth: number, $$cr?: ErrorTracker): Nullable<BusSpeed>;
    matchNewSymbolValue($$dpth: number, $$cr?: ErrorTracker): Nullable<NewSymbolValue>;
    matchNewSymbolValue_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<NewSymbolValue_$0>;
    matchCanNode($$dpth: number, $$cr?: ErrorTracker): Nullable<CanNode>;
    matchCanNode_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<CanNode_$0>;
    matchCanMessage($$dpth: number, $$cr?: ErrorTracker): Nullable<CanMessage>;
    matchCanMessage_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<CanMessage_$0>;
    matchCanMessage_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<CanMessage_$1>;
    matchCanMessage_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<CanMessage_$2>;
    matchCanMessage_$3($$dpth: number, $$cr?: ErrorTracker): Nullable<CanMessage_$3>;
    matchCanSignal($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal>;
    matchCanSignal_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal_$0>;
    matchCanSignal_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal_$1>;
    matchCanSignal_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal_$2>;
    matchCanSignal_$3($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal_$3>;
    matchCanSignal_$4($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal_$4>;
    matchCanSignal_$5($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal_$5>;
    matchCanSignal_$6($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal_$6>;
    matchCanSignal_$7($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal_$7>;
    matchCanSignal_$8($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal_$8>;
    matchCanSignal_$9($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal_$9>;
    matchCanSignal_$10($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal_$10>;
    matchCanSignal_$11($$dpth: number, $$cr?: ErrorTracker): Nullable<CanSignal_$11>;
    matchSignalMultiplexVal($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalMultiplexVal>;
    matchSignalMultiplexVal_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalMultiplexVal_$0>;
    matchSignalMultiplexVal_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalMultiplexVal_$1>;
    matchSignalMultiplexVal_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalMultiplexVal_$2>;
    matchSignalMultiplexVal_$3($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalMultiplexVal_$3>;
    matchValTable($$dpth: number, $$cr?: ErrorTracker): Nullable<ValTable>;
    matchValTable_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<ValTable_$0>;
    matchValTable_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<ValTable_$1>;
    matchVal($$dpth: number, $$cr?: ErrorTracker): Nullable<Val>;
    matchVal_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<Val_$0>;
    matchVal_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<Val_$1>;
    matchVal_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<Val_$2>;
    matchEnvironmentVal($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentVal>;
    matchEnvironmentVal_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentVal_$0>;
    matchEnvironmentVal_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentVal_$1>;
    matchComment($$dpth: number, $$cr?: ErrorTracker): Nullable<Comment>;
    matchComment_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<Comment_$0>;
    matchSignalComment($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalComment>;
    matchSignalComment_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalComment_$0>;
    matchSignalComment_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalComment_$1>;
    matchSignalComment_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalComment_$2>;
    matchMessageComment($$dpth: number, $$cr?: ErrorTracker): Nullable<MessageComment>;
    matchMessageComment_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<MessageComment_$0>;
    matchMessageComment_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<MessageComment_$1>;
    matchNodeComment($$dpth: number, $$cr?: ErrorTracker): Nullable<NodeComment>;
    matchNodeComment_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<NodeComment_$0>;
    matchNodeComment_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<NodeComment_$1>;
    matchGlobalAttribute($$dpth: number, $$cr?: ErrorTracker): Nullable<GlobalAttribute>;
    matchGlobalAttribute_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<GlobalAttribute_$0>;
    matchGlobalAttribute_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<GlobalAttribute_$1>;
    matchGlobalAttribute_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<GlobalAttribute_$2>;
    matchMessageAttribute($$dpth: number, $$cr?: ErrorTracker): Nullable<MessageAttribute>;
    matchMessageAttribute_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<MessageAttribute_$0>;
    matchMessageAttribute_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<MessageAttribute_$1>;
    matchMessageAttribute_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<MessageAttribute_$2>;
    matchEnvironmentAttribute($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentAttribute>;
    matchEnvironmentAttribute_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentAttribute_$0>;
    matchEnvironmentAttribute_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentAttribute_$1>;
    matchEnvironmentAttribute_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<EnvironmentAttribute_$2>;
    matchNodeAttribute($$dpth: number, $$cr?: ErrorTracker): Nullable<NodeAttribute>;
    matchNodeAttribute_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<NodeAttribute_$0>;
    matchNodeAttribute_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<NodeAttribute_$1>;
    matchNodeAttribute_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<NodeAttribute_$2>;
    matchSignalAttribute($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalAttribute>;
    matchSignalAttribute_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalAttribute_$0>;
    matchSignalAttribute_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalAttribute_$1>;
    matchSignalAttribute_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<SignalAttribute_$2>;
    matchAttributeDefault($$dpth: number, $$cr?: ErrorTracker): Nullable<AttributeDefault>;
    matchAttributeDefault_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<AttributeDefault_$0>;
    matchAttributeDefault_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<AttributeDefault_$1>;
    matchAttributeValue($$dpth: number, $$cr?: ErrorTracker): Nullable<AttributeValue>;
    matchAttributeValue_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<AttributeValue_$0>;
    matchAttributeValue_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<AttributeValue_$1>;
    matchSigValType($$dpth: number, $$cr?: ErrorTracker): Nullable<SigValType>;
    matchSigValType_$0($$dpth: number, $$cr?: ErrorTracker): Nullable<SigValType_$0>;
    matchSigValType_$1($$dpth: number, $$cr?: ErrorTracker): Nullable<SigValType_$1>;
    matchSigValType_$2($$dpth: number, $$cr?: ErrorTracker): Nullable<SigValType_$2>;
    test(): boolean;
    parse(): ParseResult;
    mark(): PosInfo;
    private loopPlus;
    private loop;
    private run;
    private choice;
    private regexAccept;
    private tryConsume;
    private noConsume;
    private negate;
    private memoise;
    private match$EOF;
}
export declare function parse(s: string): ParseResult;
export interface ParseResult {
    ast: Nullable<Choice>;
    errs: SyntaxErr[];
}
export interface PosInfo {
    readonly overallPos: number;
    readonly line: number;
    readonly offset: number;
}
export interface RegexMatch {
    readonly kind: "RegexMatch";
    readonly negated: boolean;
    readonly literal: string;
}
export type EOFMatch = {
    kind: "EOF";
    negated: boolean;
};
export type MatchAttempt = RegexMatch | EOFMatch;
export declare class SyntaxErr {
    pos: PosInfo;
    expmatches: MatchAttempt[];
    constructor(pos: PosInfo, expmatches: MatchAttempt[]);
    toString(): string;
}
declare class ErrorTracker {
    private mxpos;
    private regexset;
    private pmatches;
    record(pos: PosInfo, result: any, att: MatchAttempt): void;
    getErr(): SyntaxErr | null;
}
export {};
