export interface NiubizOrderCreditCard {
    channel: string;
    captureType: string;
    countable: boolean;
    order: {
        purchaseNumber: string;
        amount: number;
        currency: string;
        externalTransactionId?: string;
        tokenId?: string;
        installment?: number;
    };
    card: {
        cardNumber: string;
        expirationMonth: number;
        expirationYear: number;
        cvv2: string;
        tokenId?: string;
    };
    cardHolder?: {
        firstName: string;
        lastName: string;
        email: string;
    };
    athentication?: {
        eci: string;
        xid: string;
        cavv: string;
    };
    currencyConversion?: {
        accepted: boolean;
        eligibilityCode: string;
        currencyCode: string;
        currencyCodeAlpha: string;
        amount: number;
        exponent: number;
        exchangeRate: number;
        wholeSaleRate: number;
        markup: number;
        rateSource: string;
        rateDate: string;
        rateTime: string;
        status: string;
        signature: string;
    };
    sponsored?: {
        merchantId: string;
        name: string;
        address: string;
        phoneNumber: string;
        mcci: string;
    };
}
export interface NiubizYape {
    phoneNumber: string;
    otp: string;
}
export interface NiubizOrderYape {
    channel: string;
    captureType: string;
    countable: boolean;
    order: {
        purchaseNumber: string;
        amount: number;
        currency: string;
    };
    yape: {
        phoneNumber: string;
        otp: string;
    };
    sponsorder?: {
        ruc: string;
        merchantId: string;
        name: string;
        address: string;
        phoneNumber: string;
        mcci: string;
    };
}
export interface NiubizAntifraude {
    channel: string;
    clientIp?: string;
    deviceFingerprintId?: string;
    merchantDefineData: Record<string, any>;
    billingAddress?: {
        street1: string;
        street2?: string;
        postalCode: number;
        city: string;
        state: string;
        country: string;
    };
    shippingAddress?: {
        street1: string;
        street2?: string;
        postalCode: number;
        city: string;
        state: string;
        country: string;
    };
    order: {
        purchaseNumber: string;
        amount: number;
        currency: string;
    };
    card: {
        cardNumber: string;
        expirationMonth: number;
        expirationYear: number;
        cvv2?: string;
    };
    cardHolder: {
        firstName: string;
        lastName: string;
        email: string;
        phoneNumber?: string;
    };
    currencyConversion?: {
        accepted: true;
        eligibilityCode: string;
        currencyCode: string;
        currencyCodeAlpha: string;
        amount: number;
        exponent: number;
        exchangeRate: number;
        wholeSaleRate: number;
        markup: number;
        rateSource: string;
        rateDate: string;
        rateTime: string;
        status: string;
        signature: string;
    };
    trip?: {
        route: string;
        type: string;
        depart: string;
    };
    passengers?: [
        {
            sku: string;
            product: string;
            email: string;
            firstname: string;
            lastname: string;
            code: string;
            phone: string;
            status: string;
            type: string;
            price: number;
        }
    ];
}
export interface NiubizOrderPagoEfectivo {
    channel: string;
    email: string;
    firstName: string;
    amount: number;
    externalTransactionId: string;
}
export interface NiubizOrderCallbackPagoEfectivo {
    operationNumber: string;
    cip: number;
    status: string;
    amount: number;
}
export interface NiubizOrderConfirmation {
    channel: string;
    captureType: string;
    order: {
        purchaseNumber: string;
        amount: number;
        currency: string;
        transactionId: string;
    };
    sponsored?: {
        merchantId: string;
        name: string;
        mcci: string;
        address: string;
        phoneNumber: string;
    };
}
declare function useNiubiz(auth: {
    user: string;
    password: string;
    merchantId: string;
    sandbox: string;
}): {
    onAuthorization: (order: NiubizOrderCreditCard) => Promise<any>;
    onYape: (order: NiubizOrderYape) => Promise<any>;
    onConsultaBin: (bin: string) => Promise<any>;
    onElegibilidadDCC: (body: {
        card: {
            binNumber: string;
            last4Digits: string;
        };
        order: {
            currency: string;
            amount: number;
        };
    }) => Promise<any>;
    onPagoEfectivo: (order: NiubizOrderPagoEfectivo) => Promise<any>;
    onCallBackPagoEfectivo: (order: NiubizOrderCallbackPagoEfectivo) => Promise<any>;
    onAnulacion: (signature: number) => Promise<any>;
    onConfirmacion: (order: NiubizOrderConfirmation) => Promise<any>;
    onAntifraude: (body: NiubizAntifraude) => Promise<any>;
    onCertificadoApp: () => Promise<any>;
    getIp: () => Promise<string>;
};
export default useNiubiz;
