import { ATN } from "antlr4ts/atn/ATN";
import { FailedPredicateException } from "antlr4ts/FailedPredicateException";
import { Parser } from "antlr4ts/Parser";
import { ParserRuleContext } from "antlr4ts/ParserRuleContext";
import { TerminalNode } from "antlr4ts/tree/TerminalNode";
import { TokenStream } from "antlr4ts/TokenStream";
import { Vocabulary } from "antlr4ts/Vocabulary";
import { ThriftListener } from "./ThriftListener";
export declare class ThriftParser extends Parser {
    static readonly T__0 = 1;
    static readonly T__1 = 2;
    static readonly T__2 = 3;
    static readonly T__3 = 4;
    static readonly T__4 = 5;
    static readonly T__5 = 6;
    static readonly T__6 = 7;
    static readonly T__7 = 8;
    static readonly T__8 = 9;
    static readonly T__9 = 10;
    static readonly T__10 = 11;
    static readonly T__11 = 12;
    static readonly T__12 = 13;
    static readonly T__13 = 14;
    static readonly T__14 = 15;
    static readonly T__15 = 16;
    static readonly T__16 = 17;
    static readonly T__17 = 18;
    static readonly T__18 = 19;
    static readonly T__19 = 20;
    static readonly T__20 = 21;
    static readonly T__21 = 22;
    static readonly T__22 = 23;
    static readonly T__23 = 24;
    static readonly T__24 = 25;
    static readonly T__25 = 26;
    static readonly T__26 = 27;
    static readonly T__27 = 28;
    static readonly T__28 = 29;
    static readonly T__29 = 30;
    static readonly T__30 = 31;
    static readonly T__31 = 32;
    static readonly T__32 = 33;
    static readonly T__33 = 34;
    static readonly T__34 = 35;
    static readonly T__35 = 36;
    static readonly INTEGER = 37;
    static readonly HEX_INTEGER = 38;
    static readonly DOUBLE = 39;
    static readonly TYPE_BOOL = 40;
    static readonly TYPE_BYTE = 41;
    static readonly TYPE_I16 = 42;
    static readonly TYPE_I32 = 43;
    static readonly TYPE_I64 = 44;
    static readonly TYPE_DOUBLE = 45;
    static readonly TYPE_STRING = 46;
    static readonly TYPE_BINARY = 47;
    static readonly LITERAL = 48;
    static readonly IDENTIFIER = 49;
    static readonly COMMA = 50;
    static readonly WS = 51;
    static readonly SL_COMMENT = 52;
    static readonly ML_COMMENT = 53;
    static readonly RULE_document = 0;
    static readonly RULE_header = 1;
    static readonly RULE_include_ = 2;
    static readonly RULE_namespace_ = 3;
    static readonly RULE_cpp_include = 4;
    static readonly RULE_definition = 5;
    static readonly RULE_const_rule = 6;
    static readonly RULE_typedef_ = 7;
    static readonly RULE_enum_rule = 8;
    static readonly RULE_enum_field = 9;
    static readonly RULE_senum = 10;
    static readonly RULE_struct_ = 11;
    static readonly RULE_union_ = 12;
    static readonly RULE_exception_ = 13;
    static readonly RULE_service = 14;
    static readonly RULE_field = 15;
    static readonly RULE_field_id = 16;
    static readonly RULE_field_req = 17;
    static readonly RULE_function_ = 18;
    static readonly RULE_oneway = 19;
    static readonly RULE_function_type = 20;
    static readonly RULE_throws_list = 21;
    static readonly RULE_type_annotations = 22;
    static readonly RULE_type_annotation = 23;
    static readonly RULE_annotation_value = 24;
    static readonly RULE_field_type = 25;
    static readonly RULE_base_type = 26;
    static readonly RULE_container_type = 27;
    static readonly RULE_map_type = 28;
    static readonly RULE_set_type = 29;
    static readonly RULE_list_type = 30;
    static readonly RULE_cpp_type = 31;
    static readonly RULE_const_value = 32;
    static readonly RULE_integer = 33;
    static readonly RULE_const_list = 34;
    static readonly RULE_const_map_entry = 35;
    static readonly RULE_const_map = 36;
    static readonly RULE_list_separator = 37;
    static readonly RULE_real_base_type = 38;
    static readonly ruleNames: string[];
    private static readonly _LITERAL_NAMES;
    private static readonly _SYMBOLIC_NAMES;
    static readonly VOCABULARY: Vocabulary;
    get vocabulary(): Vocabulary;
    get grammarFileName(): string;
    get ruleNames(): string[];
    get serializedATN(): string;
    protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException;
    constructor(input: TokenStream);
    document(): DocumentContext;
    header(): HeaderContext;
    include_(): Include_Context;
    namespace_(): Namespace_Context;
    cpp_include(): Cpp_includeContext;
    definition(): DefinitionContext;
    const_rule(): Const_ruleContext;
    typedef_(): Typedef_Context;
    enum_rule(): Enum_ruleContext;
    enum_field(): Enum_fieldContext;
    senum(): SenumContext;
    struct_(): Struct_Context;
    union_(): Union_Context;
    exception_(): Exception_Context;
    service(): ServiceContext;
    field(): FieldContext;
    field_id(): Field_idContext;
    field_req(): Field_reqContext;
    function_(): Function_Context;
    oneway(): OnewayContext;
    function_type(): Function_typeContext;
    throws_list(): Throws_listContext;
    type_annotations(): Type_annotationsContext;
    type_annotation(): Type_annotationContext;
    annotation_value(): Annotation_valueContext;
    field_type(): Field_typeContext;
    base_type(): Base_typeContext;
    container_type(): Container_typeContext;
    map_type(): Map_typeContext;
    set_type(): Set_typeContext;
    list_type(): List_typeContext;
    cpp_type(): Cpp_typeContext;
    const_value(): Const_valueContext;
    integer(): IntegerContext;
    const_list(): Const_listContext;
    const_map_entry(): Const_map_entryContext;
    const_map(): Const_mapContext;
    list_separator(): List_separatorContext;
    real_base_type(): Real_base_typeContext;
    static readonly _serializedATN: string;
    static __ATN: ATN;
    static get _ATN(): ATN;
}
export declare class DocumentContext extends ParserRuleContext {
    EOF(): TerminalNode;
    header(): HeaderContext[];
    header(i: number): HeaderContext;
    definition(): DefinitionContext[];
    definition(i: number): DefinitionContext;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class HeaderContext extends ParserRuleContext {
    include_(): Include_Context | undefined;
    namespace_(): Namespace_Context | undefined;
    cpp_include(): Cpp_includeContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Include_Context extends ParserRuleContext {
    LITERAL(): TerminalNode;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Namespace_Context extends ParserRuleContext {
    IDENTIFIER(): TerminalNode[];
    IDENTIFIER(i: number): TerminalNode;
    LITERAL(): TerminalNode | undefined;
    type_annotations(): Type_annotationsContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Cpp_includeContext extends ParserRuleContext {
    LITERAL(): TerminalNode;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class DefinitionContext extends ParserRuleContext {
    const_rule(): Const_ruleContext | undefined;
    typedef_(): Typedef_Context | undefined;
    enum_rule(): Enum_ruleContext | undefined;
    senum(): SenumContext | undefined;
    struct_(): Struct_Context | undefined;
    union_(): Union_Context | undefined;
    exception_(): Exception_Context | undefined;
    service(): ServiceContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Const_ruleContext extends ParserRuleContext {
    field_type(): Field_typeContext;
    IDENTIFIER(): TerminalNode;
    const_value(): Const_valueContext | undefined;
    list_separator(): List_separatorContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Typedef_Context extends ParserRuleContext {
    field_type(): Field_typeContext;
    IDENTIFIER(): TerminalNode;
    type_annotations(): Type_annotationsContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Enum_ruleContext extends ParserRuleContext {
    IDENTIFIER(): TerminalNode;
    enum_field(): Enum_fieldContext[];
    enum_field(i: number): Enum_fieldContext;
    type_annotations(): Type_annotationsContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Enum_fieldContext extends ParserRuleContext {
    IDENTIFIER(): TerminalNode;
    integer(): IntegerContext | undefined;
    type_annotations(): Type_annotationsContext | undefined;
    list_separator(): List_separatorContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class SenumContext extends ParserRuleContext {
    IDENTIFIER(): TerminalNode;
    LITERAL(): TerminalNode[];
    LITERAL(i: number): TerminalNode;
    type_annotations(): Type_annotationsContext | undefined;
    list_separator(): List_separatorContext[];
    list_separator(i: number): List_separatorContext;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Struct_Context extends ParserRuleContext {
    IDENTIFIER(): TerminalNode;
    field(): FieldContext[];
    field(i: number): FieldContext;
    type_annotations(): Type_annotationsContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Union_Context extends ParserRuleContext {
    IDENTIFIER(): TerminalNode;
    field(): FieldContext[];
    field(i: number): FieldContext;
    type_annotations(): Type_annotationsContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Exception_Context extends ParserRuleContext {
    IDENTIFIER(): TerminalNode;
    field(): FieldContext[];
    field(i: number): FieldContext;
    type_annotations(): Type_annotationsContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class ServiceContext extends ParserRuleContext {
    IDENTIFIER(): TerminalNode[];
    IDENTIFIER(i: number): TerminalNode;
    function_(): Function_Context[];
    function_(i: number): Function_Context;
    type_annotations(): Type_annotationsContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class FieldContext extends ParserRuleContext {
    field_type(): Field_typeContext;
    IDENTIFIER(): TerminalNode;
    field_id(): Field_idContext | undefined;
    field_req(): Field_reqContext | undefined;
    const_value(): Const_valueContext | undefined;
    type_annotations(): Type_annotationsContext | undefined;
    list_separator(): List_separatorContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Field_idContext extends ParserRuleContext {
    integer(): IntegerContext;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Field_reqContext extends ParserRuleContext {
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Function_Context extends ParserRuleContext {
    function_type(): Function_typeContext;
    IDENTIFIER(): TerminalNode;
    oneway(): OnewayContext | undefined;
    field(): FieldContext[];
    field(i: number): FieldContext;
    throws_list(): Throws_listContext | undefined;
    type_annotations(): Type_annotationsContext | undefined;
    list_separator(): List_separatorContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class OnewayContext extends ParserRuleContext {
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Function_typeContext extends ParserRuleContext {
    field_type(): Field_typeContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Throws_listContext extends ParserRuleContext {
    field(): FieldContext[];
    field(i: number): FieldContext;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Type_annotationsContext extends ParserRuleContext {
    type_annotation(): Type_annotationContext[];
    type_annotation(i: number): Type_annotationContext;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Type_annotationContext extends ParserRuleContext {
    IDENTIFIER(): TerminalNode;
    annotation_value(): Annotation_valueContext | undefined;
    list_separator(): List_separatorContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Annotation_valueContext extends ParserRuleContext {
    integer(): IntegerContext | undefined;
    LITERAL(): TerminalNode | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Field_typeContext extends ParserRuleContext {
    base_type(): Base_typeContext | undefined;
    IDENTIFIER(): TerminalNode | undefined;
    container_type(): Container_typeContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Base_typeContext extends ParserRuleContext {
    real_base_type(): Real_base_typeContext;
    type_annotations(): Type_annotationsContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Container_typeContext extends ParserRuleContext {
    map_type(): Map_typeContext | undefined;
    set_type(): Set_typeContext | undefined;
    list_type(): List_typeContext | undefined;
    type_annotations(): Type_annotationsContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Map_typeContext extends ParserRuleContext {
    field_type(): Field_typeContext[];
    field_type(i: number): Field_typeContext;
    COMMA(): TerminalNode;
    cpp_type(): Cpp_typeContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Set_typeContext extends ParserRuleContext {
    field_type(): Field_typeContext;
    cpp_type(): Cpp_typeContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class List_typeContext extends ParserRuleContext {
    field_type(): Field_typeContext;
    cpp_type(): Cpp_typeContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Cpp_typeContext extends ParserRuleContext {
    LITERAL(): TerminalNode;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Const_valueContext extends ParserRuleContext {
    integer(): IntegerContext | undefined;
    DOUBLE(): TerminalNode | undefined;
    LITERAL(): TerminalNode | undefined;
    IDENTIFIER(): TerminalNode | undefined;
    const_list(): Const_listContext | undefined;
    const_map(): Const_mapContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class IntegerContext extends ParserRuleContext {
    INTEGER(): TerminalNode | undefined;
    HEX_INTEGER(): TerminalNode | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Const_listContext extends ParserRuleContext {
    const_value(): Const_valueContext[];
    const_value(i: number): Const_valueContext;
    list_separator(): List_separatorContext[];
    list_separator(i: number): List_separatorContext;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Const_map_entryContext extends ParserRuleContext {
    const_value(): Const_valueContext[];
    const_value(i: number): Const_valueContext;
    list_separator(): List_separatorContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Const_mapContext extends ParserRuleContext {
    const_map_entry(): Const_map_entryContext[];
    const_map_entry(i: number): Const_map_entryContext;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class List_separatorContext extends ParserRuleContext {
    COMMA(): TerminalNode;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
export declare class Real_base_typeContext extends ParserRuleContext {
    TYPE_BOOL(): TerminalNode | undefined;
    TYPE_BYTE(): TerminalNode | undefined;
    TYPE_I16(): TerminalNode | undefined;
    TYPE_I32(): TerminalNode | undefined;
    TYPE_I64(): TerminalNode | undefined;
    TYPE_DOUBLE(): TerminalNode | undefined;
    TYPE_STRING(): TerminalNode | undefined;
    TYPE_BINARY(): TerminalNode | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    enterRule(listener: ThriftListener): void;
    exitRule(listener: ThriftListener): void;
}
