import { ConstrutoInterface } from '../interfaces/construtos/construto-interface';
import { Declaracao } from '../declaracoes';
import { SimboloInterface } from '../interfaces';
import { RetornoAvaliadorSintaticoInterface, RetornoLexadorInterface } from '../interfaces/retornos';
import { ErroAvaliadorSintatico } from './erro-avaliador-sintatico';
export declare abstract class MicroAvaliadorSintaticoBase {
    simbolos: SimboloInterface[];
    erros: ErroAvaliadorSintatico[];
    atual: number;
    linha: number;
    avancarEDevolverAnterior(): SimboloInterface;
    verificarTipoSimboloAtual(tipo: string): boolean;
    verificarSeSimboloAtualEIgualA(...argumentos: string[]): boolean;
    erro(simbolo: SimboloInterface, mensagemDeErro: string, codigoDiagnostico?: string, simboloRelacionado?: SimboloInterface): ErroAvaliadorSintatico;
    consumir(tipo: string, mensagemDeErro: string): SimboloInterface;
    abstract chamar(): ConstrutoInterface;
    unario(): ConstrutoInterface;
    exponenciacao(): ConstrutoInterface;
    multiplicar(): ConstrutoInterface;
    adicaoOuSubtracao(): ConstrutoInterface;
    comparar(): ConstrutoInterface;
    comparacaoIgualdade(): ConstrutoInterface;
    e(): ConstrutoInterface;
    ou(): ConstrutoInterface;
    declaracao(): Declaracao | ConstrutoInterface;
    abstract analisar(retornoLexador: RetornoLexadorInterface<SimboloInterface>, linha: number): RetornoAvaliadorSintaticoInterface<Declaracao>;
}
//# sourceMappingURL=micro-avaliador-sintatico-base.d.ts.map