import { type EventPayload, type IPaymentSessionMetaData } from '../../types';
import { Logger } from '../../util/logger';
export type IChannelBehavior = {
    usePaymentSessionAsQueryResult: boolean;
    submitPayInSdk: boolean;
    createIframeNode: boolean;
    loadApp: boolean;
    buildSubmitPayExtParams?: (params: GetDoubleFaParams) => any;
    allowClickOutsideClose?: boolean;
};
type GetDoubleFaParams = {
    instanceId: string;
    paymentSessionData: string;
    paymentSessionObj: IPaymentSessionMetaData;
    locale: string;
    paymentMethodType: string;
    env: string;
    sdkVersion: string;
    notRedirectAfterComplete: boolean;
};
export declare function getChannelBehavior(paymentSessionMetaData?: IPaymentSessionMetaData, notRedirectAfterComplete?: boolean): IChannelBehavior | undefined;
export declare function getDoubleFaUrl(params: GetDoubleFaParams): string;
export declare const handleGooglePay: (data: EventPayload) => Promise<unknown>;
export declare class ApplePaySdk {
    private APPLESDKURL;
    private session;
    private paymentSessionData;
    private parseData;
    /**
     * @description 支付状态，pending：支付中，normal：正常
     */
    private paymentStatus;
    private logger;
    private env;
    constructor({ paymentSessionData, parseData, logger, env, }: {
        paymentSessionData: string;
        parseData: IPaymentSessionMetaData;
        logger: Logger;
        env?: string;
    });
    startPay(): Promise<unknown>;
    begin(): Promise<unknown>;
    private submitPay;
    private setPayStatus;
    initApplePaySession(): Promise<never>;
    private abortSession;
    private get initSessionParams();
    private get isRequiredParameters();
    private isCanMakePayments;
    private loadApplePaySdk;
    private get checkScriptIsLoaded();
    /**
     * @description 非标方案，sdk目前无法直接监听国内不支持弹窗的关闭操作
     */
    private addEventListener;
    private getDeviceId;
}
export declare const isSkipRenderPaymentMethod: (parseData: IPaymentSessionMetaData) => boolean;
export {};
