import { AcessoIndiceVariavel, AcessoMetodo, Agrupamento, AtribuicaoPorIndice, Atribuir, Binario, Chamada, DefinirValor, FuncaoConstruto, Leia, Literal, Logico, TipoDe, Unario, Variavel, Vetor } from '../construtos';
import { Bloco, Classe, Const, Declaracao, Enquanto, Escolha, Escreva, Expressao, Falhar, Fazer, FuncaoDeclaracao, Importar, Para, ParaCada, Retorna, Se, Tente, Var } from '../declaracoes';
export type PlataformaAlvo = 'linux' | 'windows';
export declare class TradutorAssemblyX64 {
    alvo: PlataformaAlvo;
    indentacao: number;
    declaracoesDeClasses: Classe[];
    contadorLabels: number;
    variaveis: Map<string, string>;
    registradoresDisponiveis: string[];
    pilhaRegistradores: string[];
    bss: string;
    data: string;
    text: string;
    constructor(alvo?: PlataformaAlvo);
    gerarDigitoAleatorio(): string;
    gerarLabel(): string;
    obterRegistrador(): string;
    liberarRegistrador(reg: string): void;
    dicionarioConstrutos: {
        AcessoIndiceVariavel: any;
        AcessoMetodoOuPropriedade: any;
        Agrupamento: any;
        AtribuicaoPorIndice: any;
        Atribuir: any;
        Binario: any;
        Chamada: any;
        DefinirValor: any;
        FuncaoConstruto: any;
        Isto: () => string;
        Literal: any;
        Logico: any;
        TipoDe: any;
        Unario: any;
        Variavel: any;
        Vetor: any;
    };
    dicionarioDeclaracoes: {
        Bloco: any;
        Enquanto: any;
        Continua: () => string;
        Escolha: any;
        Expressao: any;
        Fazer: any;
        Falhar: any;
        FuncaoDeclaracao: any;
        Importar: any;
        Leia: any;
        Para: any;
        ParaCada: any;
        Retorna: any;
        Se: any;
        Sustar: () => string;
        Classe: any;
        Tente: any;
        Const: any;
        Var: any;
        Escreva: any;
    };
    traduzirAcessoIndiceVariavel(construto: AcessoIndiceVariavel): string;
    trazudirConstrutoAcessoMetodo(construto: AcessoMetodo): string;
    traduzirConstrutoAgrupamento(construto: Agrupamento): string;
    traduzirConstrutoAtribuicaoPorIndice(construto: AtribuicaoPorIndice): void;
    traduzirConstrutoAtribuir(construto: Atribuir): void;
    traduzirConstrutoBinario(construto: Binario): string;
    traduzirConstrutoChamada(construto: Chamada): void;
    traduzirConstrutoDefinirValor(construto: DefinirValor): void;
    traduzirFuncaoConstruto(construto: FuncaoConstruto): void;
    traduzirConstrutoLiteral(construto: Literal): string;
    traduzirConstrutoLogico(construto: Logico): string;
    traduzirConstrutoTipoDe(construto: TipoDe): string;
    traduzirConstrutoUnario(construto: Unario): string;
    traduzirConstrutoVariavel(construto: Variavel): string;
    traduzirConstrutoVetor(construto: Vetor): string;
    traduzirDeclaracaoBloco(declaracao: Bloco): void;
    traduzirDeclaracaoEnquanto(declaracao: Enquanto): void;
    traduzirDeclaracaoEscolha(declaracao: Escolha): void;
    traduzirDeclaracaoExpressao(declaracao: Expressao): void;
    traduzirDeclaracaoFazer(declaracao: Fazer): void;
    traduzirDeclaracaoFalhar(declaracao: Falhar): void;
    traduzirDeclaracaoFuncao(declaracao: FuncaoDeclaracao): void;
    traduzirDeclaracaoImportar(declaracao: Importar): void;
    traduzirDeclaracaoLeia(declaracao: Leia): void;
    traduzirDeclaracaoPara(declaracao: Para): void;
    traduzirDeclaracaoParaCada(declaracao: ParaCada): void;
    traduzirDeclaracaoRetorna(declaracao: Retorna): void;
    traduzirDeclaracaoSe(declaracao: Se): void;
    traduzirDeclaracaoClasse(declaracao: Classe): void;
    traduzirDeclaracaoTente(declaracao: Tente): void;
    traduzirDeclaracaoConst(declaracao: Const): void;
    traduzirDeclaracaoVar(declaracao: Var): void;
    criaStringLiteral(literal: Literal): string;
    criaTamanhoNaMemoriaReferenteAVar(nomeStringLiteral: string): string;
    traduzirDeclaracaoEscreva(declaracaoEscreva: Escreva): void;
    saidaSistema(): void;
    traduzir(declaracoes: Declaracao[]): string;
}
//# sourceMappingURL=tradutor-assembly-x64.d.ts.map