import { Statement, Node } from './ast'; import * as util from './util'; import Position from './position'; type int = number; export declare const YYACCEPT: int; export declare const YYPUSH_MORE: int; export declare class Parser { yylloc_set(rhs: YYStack, n: int): Location; yylexer: Lexer; statement: Statement; constructor(yylexer: Lexer, statement: Statement); yyDebugStream: util.PrintStream; getDebugStream(): util.PrintStream; setDebugStream(s: util.PrintStream): void; yydebug: int; getDebugLevel(): int; setDebugLevel(level: int): void; yynerrs: int; getNumberOfErrors(): int; yyerror(msg: String): void; yyerror_1(loc: Location, msg: String): void; yyerror_2(pos: Position, msg: String): void; yycdebug(s: String): void; yyerrstatus_: int; yychar: int; yytoken: SymbolKind; yyn: int; yylen: int; yystate: int; yystack: YYStack; label: int; yyerrloc: Location; yylloc: Location; yylval: Node; recovering(): boolean; yyLRGotoState(yystate: int, yysym: int): int; yyaction(yyn: int, yystack: YYStack, yylen: int): int; yySymbolPrint(s: String, yykind: SymbolKind, yyvalue: Node, yylocation: Location): void; push_parse(yylextoken: int, yylexval: Node, yylexloc: Location): int; push_parse_initialized: boolean; push_parse_initialize(): void; push_parse_1(yylextoken: int, yylexval: Node, yylexpos: Position): int; yyreportSyntaxError(yyctx: Context): void; yyReducePrint(yyrule: int, yystack: YYStack): void; } export declare class Location { constructor(...args: any[]); begin: Position; end: Position; constructor_0(loc: Position): void; constructor_1(begin: Position, end: Position): void; toString(): String; } declare class SymbolKind { static S_YYEOF: SymbolKind; static S_YYerror: SymbolKind; static S_YYUNDEF: SymbolKind; static S_LPAREN: SymbolKind; static S_RPAREN: SymbolKind; static S_MUL: SymbolKind; static S_PLUS: SymbolKind; static S_COMMA: SymbolKind; static S_MINUS: SymbolKind; static S_DIV: SymbolKind; static S_LT: SymbolKind; static S_EQ: SymbolKind; static S_GT: SymbolKind; static S_LE: SymbolKind; static S_NE: SymbolKind; static S_GE: SymbolKind; static S_PSQL_CAST: SymbolKind; static S_AND: SymbolKind; static S_OR: SymbolKind; static S_IS: SymbolKind; static S_NOT: SymbolKind; static S_LOGICAL: SymbolKind; static S_NUMBER: SymbolKind; static S_STRING: SymbolKind; static S_NAME: SymbolKind; static S_RESERVED: SymbolKind; static S_NULL: SymbolKind; static S_AS: SymbolKind; static S_NEG: SymbolKind; static S_YYACCEPT: SymbolKind; static S_start: SymbolKind; static S_statement: SymbolKind; static S_expression: SymbolKind; static S_constant: SymbolKind; static S_function_call: SymbolKind; static S_argument_list: SymbolKind; static S_non_empty_argument_list: SymbolKind; yycode_: int; constructor(n: int); static values_: SymbolKind[]; static get(code: int): SymbolKind; getCode(): int; static yynames_: String[]; static yynames_init(): String[]; getName(): String; } export declare const YYEOF: int; export declare const YYerror: int; export declare const YYUNDEF: int; export declare const LPAREN: int; export declare const RPAREN: int; export declare const MUL: int; export declare const PLUS: int; export declare const COMMA: int; export declare const MINUS: int; export declare const DIV: int; export declare const LT: int; export declare const EQ: int; export declare const GT: int; export declare const LE: int; export declare const NE: int; export declare const GE: int; export declare const PSQL_CAST: int; export declare const AND: int; export declare const OR: int; export declare const IS: int; export declare const NOT: int; export declare const LOGICAL: int; export declare const NUMBER: int; export declare const STRING: int; export declare const NAME: int; export declare const RESERVED: int; export declare const NULL: int; export declare const AS: int; export declare const NEG: int; export declare const EOF: int; export interface Lexer { yyerror(loc: Location, msg: String): void; reportSyntaxError(ctx: Context): void; } declare class YYStack { stateStack: int[]; locStack: Location[]; valueStack: Node[]; size: int; height: int; push(state: int, value: Node, loc: Location): void; pop(): void; pop_1(num: int): void; stateAt(i: int): int; locationAt(i: int): Location; valueAt(i: int): Node; print(out: util.PrintStream): void; } export declare class Context { constructor(stack: YYStack, token: SymbolKind, loc: Location); yystack: YYStack; getToken(): SymbolKind; yytoken: SymbolKind; getLocation(): Location; yylocation: Location; getExpectedTokens(yyarg: SymbolKind[], yyargn: int): int; getExpectedTokens_1(yyarg: SymbolKind[], yyoffset: int, yyargn: int): int; } export {};