import { EventoNFe, ConsultaNFe, NFe, InutilizacaoData, DFePorChaveNFe, DFePorUltimoNSU, DFePorNSU, Cancelamento, CienciaDaOperacao, ConfirmacaoDaOperacao, OperacaoNaoRealizada, CartaDeCorrecao, DesconhecimentoDaOperacao, EPEC, EmailParams } from '@nfewizard/types/nfe';
import { NFeWizardImpl, NFeWizardProps, SchemaValidateMethod } from '@nfewizard/types/shared';
export declare class NFeWizard implements NFeWizardImpl {
    private nfeWizardService;
    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>;
    /**
     * @deprecated A partir da v1.0.0, use o pacote @nfewizard/cte diretamente
     * @example
     * import { CTEWizard } from '@nfewizard/cte';
     * const cteWizard = new CTEWizard();
     * await cteWizard.NFE_LoadEnvironment({ config });
     * await cteWizard.CTE_DistribuicaoDFe(data);
     */
    CTE_DistribuicaoDFe(_data: any): Promise<void>;
    /**
     * @deprecated A partir da v1.0.0, use o pacote @nfewizard/cte diretamente
     * @example
     * import { CTEWizard } from '@nfewizard/cte';
     * const cteWizard = new CTEWizard();
     * await cteWizard.NFE_LoadEnvironment({ config });
     * await cteWizard.CTE_DistribuicaoDFePorUltNSU(data);
     */
    CTE_DistribuicaoDFePorUltNSU(_data: any): Promise<void>;
    /**
     * @deprecated A partir da v1.0.0, use o pacote @nfewizard/cte diretamente
     * @example
     * import { CTEWizard } from '@nfewizard/cte';
     * const cteWizard = new CTEWizard();
     * await cteWizard.NFE_LoadEnvironment({ config });
     * await cteWizard.CTE_DistribuicaoDFePorNSU(data);
     */
    CTE_DistribuicaoDFePorNSU(_data: any): Promise<void>;
    /**
     * Autorização NFe
     */
    /**
     * Autoriza uma NFe.
     *
     * @param data Dados da NFe em JSON do padrão da lib (`NFe`) ou um XML
     * de envio (`enviNFe` / `NFe` solo) em string. Quando string, o XML é
     * convertido para JSON antes de seguir o fluxo normal.
     */
    NFE_Autorizacao(data: NFe | string): 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<any>;
    /**
     * @deprecated A partir da v1.0.0, use o pacote @nfewizard/nfce diretamente
     * @example
     * import { NFCEWizard } from '@nfewizard/nfce';
     * const nfceWizard = new NFCEWizard();
     * await nfceWizard.NFE_LoadEnvironment({ config });
     * await nfceWizard.NFCE_Autorizacao(data);
     */
    NFCE_Autorizacao(_data: any): Promise<void>;
    /**
     * Inutilização
     */
    NFE_Inutilizacao(data: InutilizacaoData): Promise<any>;
    /**
     * @deprecated A partir da v1.0.0, use o pacote @nfewizard/danfe diretamente
     * @example
     * import { NFeGerarDanfe } from '@nfewizard/danfe';
     * const danfe = new NFeGerarDanfe(data);
     * await danfe.generatePDF();
     */
    NFE_GerarDanfe(_data: any): Promise<void>;
    /**
     * @deprecated A partir da v1.0.0, use o pacote @nfewizard/danfe diretamente
     * @example
     * import { NFCeGerarDanfe } from '@nfewizard/danfe';
     * const danfe = new NFCeGerarDanfe(data);
     * await danfe.generatePDF();
     */
    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): any;
}
export default NFeWizard;
