import { BoletoData } from "./interfaces";
interface Endereco {
    cep: string | null;
    logradouro: string | null;
    numero: string | null;
    complemento: string | null;
    bairro: string | null;
    cidade: string | null;
    uf: string | null;
}
interface Desconto {
    codigo: '1' | '2';
    percentual?: string;
    valor?: string;
    data_limite: string;
}
interface Juros {
    codigo: '1' | '3';
    valor_ao_dia?: string;
}
interface Multa {
    codigo: '1' | '2';
    percentual?: string;
    valor?: string;
    dias_apos_vencimento?: string;
}
interface Protesto {
    codigo: '1';
    dias: string;
}
interface PagamentoParcial {
    permitido: boolean | null;
    quantidade: number | null;
}
export interface BoletoPayload {
    dadosBeneficiario: {
        identificador: string;
        inscricao: string;
        tipo: 'F' | 'J';
        convenio: string;
        nome: string;
    };
    dados: {
        pagador: {
            tipo_inscricao: '1' | '2' | null;
            inscricao: string;
            nome: string;
            email: string | null;
            endereco: Endereco;
        };
        sacador: {
            nome: string | null;
            tipo_inscricao?: '1' | '2' | null;
            inscricao?: string | null;
            email?: string | null;
            endereco?: Endereco | null;
        } | null;
        documento: {
            numero: string;
            nosso_numero: string;
            especie: string;
            valor: string;
            data_emissao: string;
            data_vencimento: string;
            data_processamento: string;
            pix_cobranca: string | null;
            mensagem: string | null;
            pagamento_parcial: PagamentoParcial | null;
            protesto: Protesto | null;
            multa: Multa | null;
            juros: Juros | null;
            desconto: Desconto | null;
            valor_iof?: string | null;
            valor_abatimento?: string | null;
            instrucao_baixa?: {
                dias: string;
                codigo: '1' | '2';
            } | null;
        };
    };
}
/**
 * Classe responsável por interpretar e converter dados do formato BoletoPayload
 * para o formato esperado pelo CitiBankBoletoSDK (BoletoData).
 */
export declare class DataInterpreter {
    /**
     * Converte o objeto de dados da sua aplicação para o formato BoletoData do SDK.
     * @param payload O objeto de dados no formato da sua aplicação.
     * @returns Um objeto no formato BoletoData, pronto para ser usado pelo SDK.
     */
    toSdkFormat(payload: BoletoPayload): BoletoData;
    private calcularDataEncargo;
}
export {};
