import { GetTokenDto, GetTokenResponse } from '../services/getToken/types';
import { ATVOptions, ConfirmationMessage, Mode, SendConfirmationInput, SendResponse } from './types';
import { Command, CreateAndSendDocumentResponse } from './useCases/createDocument/types';
import { CreateDocumentInput } from './core/CreateDocFactory';
import { CreateReceptorMessageCommandInput } from './useCases/createReceptorMessage';
export declare class ATV {
    readonly mode: Mode;
    readonly options: ATVOptions;
    constructor(options?: ATVOptions, mode?: Mode);
    getToken(params: GetTokenDto): Promise<GetTokenResponse>;
    createDocumentCommand(input: CreateDocumentInput): Promise<CreateAndSendDocumentResponse>;
    createReceptorMessage(input: CreateReceptorMessageCommandInput): Promise<{
        command: Command;
        extraData: {
            xml: string;
            document: import("@src/types/facturaInterfaces").InvoiceDocumentContainer;
        };
    }>;
    sendDocument(input: Command): Promise<SendResponse>;
    sendConfirmation(input: SendConfirmationInput): Promise<{
        status: number;
        headerResultState: any;
        confirmation: ConfirmationMessage;
        xml: string;
        rawResponse: import("axios").AxiosResponse<import("axios").AxiosResponse<any, any>, any>;
        errorCause: any;
    } | {
        status: any;
        errorCause: any;
        rawResponse: any;
        headerResultState?: undefined;
        confirmation?: undefined;
        xml?: undefined;
    }>;
    private parseConfirmationMessage;
    private decodeBase64;
}
