interface Endereco {
    cep: string | null;
    logradouro: string | null;
    numero: string | null;
    complemento: string | null;
    bairro: string | null;
    cidade: string | null;
    uf: string | null;
}
export interface BoletoPayload {
    dadosBeneficiario: {
        identificador: string;
        inscricao: string;
    };
    dados: {
        pagador: {
            tipo_inscricao: '1' | '2';
            inscricao: string;
            nome: string;
            email: string | null;
            endereco: Endereco;
        };
        documento: {
            numero: string;
            nosso_numero: string;
            especie: string;
            valor: string;
            data_emissao: string;
            data_vencimento: string;
            [key: string]: any;
        };
        [key: string]: any;
    };
}
interface BoletoData {
    GrpBenf: {
        CdtrNm: string;
        CdtrTaxId: string;
        CdtrTaxTp: 'J' | 'F';
        CdtrId: string;
    };
    GrpClPgd: {
        DbtrNm: string;
        DbtrTaxId: string;
        DbtrTaxTp: 'J' | 'F';
        GrpClPgdAdr: {
            DbtrAdrTp: string;
            DbtrCtrySubDvsn: string;
            DbtrPstCd: string;
            DbtrTwnNm: string;
        };
    };
    TitlAmt: number;
    TitlBarCdInd: string;
    TitlCcyCd: string;
    TitlCiaCdId: string;
    TitlDueDt: string;
    TitlInstrWrtOffInd?: '1' | '2';
    TitlIssDt: string;
    TitlOurNb: string;
    TitlPortCd: string;
    TitlTpCd: string;
    TitlYourNb: string;
}
/**
 * Classe responsável por interpretar e converter dados do seu formato de aplicação
 * para o formato esperado pelo CitiBankBoletoSDK.
 */
export declare class DataInterpreter {
    /**
     * Converte o seu objeto JSON 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;
}
export {};
