import type { IdentityVerificationRequest, IdentityVerificationResponse } from './requestIdentityVerification.js';
import type { IssueBillingKeyAndPayRequest, IssueBillingKeyAndPayResponse } from './requestIssueBillingKeyAndPay.js';
import type { IssueBillingKeyRequest, IssueBillingKeyResponse } from './requestIssueBillingKey.js';
import type { PaymentRequest, PaymentResponse } from './requestPayment.js';
import { LoadPaymentUIRequest } from './loadPaymentUI.js';
import { LoadIssueBillingKeyUIRequest } from './loadIssueBillingKeyUI.js';
import { IssueBillingKeyError, PaymentError } from './exception/index.js';
declare global {
    interface Window {
        PortOne: PortOne | undefined;
    }
}
interface PortOne {
    requestPayment(request: PaymentRequest): Promise<PaymentResponse>;
    requestIssueBillingKeyAndPay(request: IssueBillingKeyAndPayRequest): Promise<IssueBillingKeyAndPayResponse>;
    requestIssueBillingKey(request: IssueBillingKeyRequest): Promise<IssueBillingKeyResponse>;
    requestIdentityVerification(request: IdentityVerificationRequest): Promise<IdentityVerificationResponse>;
    loadPaymentUI(request: LoadPaymentUIRequest, callbacks: {
        onPaymentSuccess: (response: PaymentResponse) => void;
        onPaymentFail: (error: PaymentError) => void;
    }): Promise<void>;
    loadIssueBillingKeyUI(request: LoadIssueBillingKeyUIRequest, callbacks: {
        onIssueBillingKeySuccess: (response: IssueBillingKeyResponse) => void;
        onIssueBillingKeyFail: (error: IssueBillingKeyError) => void;
    }): Promise<void>;
    updateLoadPaymentUIRequest(request: LoadPaymentUIRequest): Promise<void>;
    updateLoadIssueBillingKeyUIRequest(request: LoadIssueBillingKeyUIRequest): Promise<void>;
}
export declare function loadScript(): Promise<PortOne>;
export declare function setPortOneJsSdkUrl(url: string): string;
export {};
