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 { Token } from "antlr4ts/Token";
import { TokenStream } from "antlr4ts/TokenStream";
import { Vocabulary } from "antlr4ts/Vocabulary";
import { RelationTupleVisitor } from "./RelationTupleVisitor";
export declare class RelationTupleParser 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 STRING = 6;
    static readonly CHAR = 7;
    static readonly RULE_relationTuple = 0;
    static readonly RULE_namespacedObject = 1;
    static readonly RULE_subject = 2;
    static readonly RULE_subjectId = 3;
    static readonly RULE_subjectSet = 4;
    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);
    relationTuple(): RelationTupleContext;
    namespacedObject(): NamespacedObjectContext;
    subject(): SubjectContext;
    subjectId(): SubjectIdContext;
    subjectSet(): SubjectSetContext;
    static readonly _serializedATN: string;
    static __ATN: ATN;
    static get _ATN(): ATN;
}
export declare class RelationTupleContext extends ParserRuleContext {
    _relation: Token;
    namespacedObject(): NamespacedObjectContext;
    subject(): SubjectContext;
    EOF(): TerminalNode;
    STRING(): TerminalNode;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    accept<Result>(visitor: RelationTupleVisitor<Result>): Result;
}
export declare class NamespacedObjectContext extends ParserRuleContext {
    _namespace: Token;
    _object: Token;
    STRING(): TerminalNode[];
    STRING(i: number): TerminalNode;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    accept<Result>(visitor: RelationTupleVisitor<Result>): Result;
}
export declare class SubjectContext extends ParserRuleContext {
    subjectId(): SubjectIdContext | undefined;
    subjectSet(): SubjectSetContext | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    accept<Result>(visitor: RelationTupleVisitor<Result>): Result;
}
export declare class SubjectIdContext extends ParserRuleContext {
    STRING(): TerminalNode;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    accept<Result>(visitor: RelationTupleVisitor<Result>): Result;
}
export declare class SubjectSetContext extends ParserRuleContext {
    _subjectRelation: Token;
    namespacedObject(): NamespacedObjectContext;
    STRING(): TerminalNode | undefined;
    constructor(parent: ParserRuleContext | undefined, invokingState: number);
    get ruleIndex(): number;
    accept<Result>(visitor: RelationTupleVisitor<Result>): Result;
}
