import { NFeWizardServiceImpl } from '@nfewizard/types/shared';
import { SchemaValidateMethod } from '@nfewizard/shared';
import { Cancelamento, CartaDeCorrecao, CienciaDaOperacao, ConfirmacaoDaOperacao, ConsultaNFe, DesconhecimentoDaOperacao, DFePorChaveNFe, DFePorNSU, DFePorUltimoNSU, EmailParams, EPEC, EventoNFe, InutilizacaoData, NFe, OperacaoNaoRealizada } from '@nfewizard/types/nfe';
import { NFeWizardProps } from '@nfewizard/types/shared';
declare class NFeWizardService implements NFeWizardServiceImpl {
    private config;
    private environment;
    private utility;
    private xmlBuilder;
    private axios;
    private saveFiles;
    private gerarConsulta;
    constructor();
    NFE_LoadEnvironment({ config }: {
        config: NFeWizardProps;
    }): Promise<void>;
    /**
     * Status Serviço
     */
    NFE_ConsultaStatusServico(): Promise<any>;
    /**
     * Consulta Protocolo
     */
    NFE_ConsultaProtocolo(chave: string): Promise<any>;
    /**
     * Recepção de Eventos
     */
    NFE_RecepcaoEvento(evento: EventoNFe): Promise<any>;
    NFE_EventoPrevioDeEmissaoEmContingencia(evento: EPEC): Promise<any>;
    NFE_Cancelamento(evento: Cancelamento): Promise<any>;
    NFE_CienciaDaOperacao(evento: CienciaDaOperacao): Promise<any>;
    NFE_ConfirmacaoDaOperacao(evento: ConfirmacaoDaOperacao): Promise<any>;
    NFE_OperacaoNaoRealizada(evento: OperacaoNaoRealizada): Promise<any>;
    NFE_CartaDeCorrecao(evento: CartaDeCorrecao): Promise<any>;
    NFE_DesconhecimentoDaOperacao(evento: DesconhecimentoDaOperacao): Promise<any>;
    /**
     * Distribuição DFe
     */
    NFE_DistribuicaoDFe(data: ConsultaNFe): Promise<any>;
    NFE_DistribuicaoDFePorUltNSU(data: DFePorUltimoNSU): Promise<any>;
    NFE_DistribuicaoDFePorNSU(data: DFePorNSU): Promise<any>;
    NFE_DistribuicaoDFePorChave(data: DFePorChaveNFe): Promise<any>;
    /**
     * Autorização
     */
    NFE_Autorizacao(data: NFe | string): Promise<any>;
    /**
     * Inutilização
     */
    NFE_Inutilizacao(data: InutilizacaoData): Promise<any>;
    /**
     * Valida um XML contra o schema XSD do método fiscal informado.
     * O `environment` é injetado automaticamente a partir da configuração da lib.
     *
     * @param xml      - String XML a ser validada.
     * @param metodo   - Nome do método/operação fiscal (ex.: `'NFeAutorizacao'`).
     * @param validator - Força um validador específico. Se omitido, usa
     *                    `lib.useForSchemaValidation` do config; caso não definido,
     *                    usa `'validateSchemaJsBased'` como padrão.
     */
    NFE_SchemaValidate(xml: string, metodo: SchemaValidateMethod, validator?: 'validateSchemaJsBased' | 'validateSchemaJavaBased'): Promise<import("@nfewizard/shared").SchemaValidationResult>;
    /**
     * @deprecated A partir da v1.0.0, use o pacote @nfewizard/danfe
     */
    NFE_GerarDanfe(_data: any): Promise<void>;
    /**
     * @deprecated A partir da v1.0.0, use o pacote @nfewizard/danfe
     */
    NFCE_GerarDanfe(_data: any): Promise<void>;
    /**
     * Método para envio de e-mail
     * @param {EmailParams} mailParams - Mensagem de texto (aceita html)
     */
    NFE_EnviaEmail(mailParams: EmailParams): void;
    /**
     * Validação de ambiente
     */
    private validateEnvironment;
}
export default NFeWizardService;
