import { EventDataMap, EVENTNAME, IElementOptions, PaymentMountOptions, SubmitFuncParams } from './type';
export declare class ElementComponent {
    private options;
    private controller;
    constructor(options: IElementOptions);
    updatePayment(paymentSessionData: any): Promise<unknown>;
    mount(renderOptions: PaymentMountOptions, sdkSelector: string): Promise<import("./type").ICommonApiResponse>;
    validateFields(): Promise<{
        isValid: boolean;
    }>;
    submitPayment(params: SubmitFuncParams): Promise<import("./type").IPaymentApiResponse>;
    destroy(): void;
    on<T extends EVENTNAME>(event: T, callback: (data: EventDataMap[T]) => void): void;
}
