import { Directive, ModuleDeclaration, Statement } from 'estree';
import { Construto, FuncaoConstruto } from '../../construtos';
import { Enquanto, Escreva, Expressao, Leia, Para, ParaCada, Se, Sustar, Continua, Retorna, Escolha, Importar, Tente, Fazer, Const, Var, FuncaoDeclaracao, Classe } from '../../declaracoes';
import { AvaliadorSintaticoInterface } from '../../interfaces';
import { RetornoLexador, RetornoAvaliadorSintatico } from '../../interfaces/retornos';
import { ErroAvaliadorSintatico } from '../erro-avaliador-sintatico';
export declare class AvaliadorSintaticoJavaScript implements AvaliadorSintaticoInterface<Statement | Directive | ModuleDeclaration, Statement | Directive | ModuleDeclaration> {
    simbolos: (Statement | Directive | ModuleDeclaration)[];
    erros: ErroAvaliadorSintatico[];
    atual: number;
    blocos: number;
    consumir(tipo: any, mensagemDeErro: string): void;
    erro(simbolo: Statement | Directive | ModuleDeclaration, mensagemDeErro: string): ErroAvaliadorSintatico;
    verificarTipoSimboloAtual(tipo: string): boolean;
    verificarTipoProximoSimbolo(tipo: string): boolean;
    estaNoFinal(): boolean;
    avancarEDevolverAnterior(): void;
    verificarSeSimboloAtualEIgualA(...argumentos: any[]): boolean;
    primario(): void;
    finalizarChamada(entidadeChamada: Construto): Construto;
    chamar(): Construto;
    unario(): Construto;
    exponenciacao(): Construto;
    multiplicar(): Construto;
    adicaoOuSubtracao(): Construto;
    bitShift(): Construto;
    bitE(): Construto;
    bitOu(): Construto;
    comparar(): Construto;
    comparacaoIgualdade(): Construto;
    em(): Construto;
    e(): Construto;
    ou(): Construto;
    atribuir(): Construto;
    blocoEscopo(): any[];
    expressao(): Construto;
    declaracaoEnquanto(): Enquanto;
    declaracaoEscreva(): Escreva;
    declaracaoExpressao(): Expressao;
    declaracaoLeia(): Leia;
    declaracaoPara(): Para | ParaCada;
    declaracaoSe(): Se;
    declaracaoSustar(): Sustar;
    declaracaoContinua(): Continua;
    declaracaoRetorna(): Retorna;
    declaracaoEscolha(): Escolha;
    declaracaoImportar(): Importar;
    declaracaoTente(): Tente;
    declaracaoFazer(): Fazer;
    resolverDeclaracao(): void;
    declaracaoDeConstantes(): Const[];
    declaracaoDeVariaveis(): Var[];
    declaracaoDeVariavel(): Var;
    funcao(tipo: string): FuncaoDeclaracao;
    corpoDaFuncao(tipo: string): FuncaoConstruto;
    declaracaoDeClasse(): Classe;
    resolverDeclaracaoForaDeBloco(): void;
    analisar(retornoLexador: RetornoLexador<Statement | Directive | ModuleDeclaration>, hashArquivo: number): RetornoAvaliadorSintatico<Statement | Directive | ModuleDeclaration>;
}
//# sourceMappingURL=avaliador-sintatico-javascript.d.ts.map