import { AddressMountOptions, EventDataMap, EVENTNAME, ICommonApiResponse, IElementOptions, IPaymentApiResponse, LinkAuthMountOptions, PaymentMountOptions, SubmitFuncParams } from '../type';
declare class ElementController {
    private options;
    private elementContainer;
    private serviceMap;
    private loading;
    private elementProcessors;
    private initTimeout;
    private elementContainerService;
    private onStatusChangeCallback;
    private submitPayPromise;
    private elementEventCenter;
    constructor(options: IElementOptions);
    private initService;
    private initElementProcessors;
    private onEventCallback;
    /**
     * 处理初始化错误的方法
     */
    private handleInitializationError;
    private handleMountError;
    private clearAndSetInitTimeout;
    private clearInitTimeout;
    private clearEvents;
    private setInitTimeout;
    private initializeAndMountProcessor;
    private handleStartBizFlowError;
    mount(renderOptions: LinkAuthMountOptions | AddressMountOptions | PaymentMountOptions, sdkSelector: string): Promise<ICommonApiResponse>;
    private onValidateFunc;
    private onValidateAndSubmitPay;
    /**
     * 25/09/08 新增商户主动校验api
     * @returns {Promise<{isValid: boolean}>}
     */
    validateFields(): Promise<{
        isValid: boolean;
    }>;
    submitPayment(submitParams: SubmitFuncParams): Promise<IPaymentApiResponse>;
    private changeLoading;
    private addEventListener;
    private sendRequestAndWaitWebLaunch;
    private getErrorFromResponse;
    private areAllContainersReady;
    private sendReady;
    updatePayment(paymentSessionData: any): Promise<unknown>;
    private destroyHandle;
    destroy(): void;
    private setControllerStatusOrView;
    on<T extends EVENTNAME>(event: T, callback: (data: EventDataMap[T]) => void): void;
    private isEventAllowed;
}
export default ElementController;
