import type { ApiInternal } from "../../api/api-internal";
import { Container } from "../../components/container";
import { IFrame } from "../../components/iframe";
import { IFrameEvent } from "../../components/iframe-event";
import type { EventEmitter } from "../../helper/event-emitter";
import type { ITokenStandalone3DS } from "./standalone3ds-service";
export declare enum PROCESS_STANDALONE_3DS_STATUS {
    SUCCESS = "success",
    ERROR = "error",
    PENDING = "pending"
}
export declare const GPAYMENTS_EVENT: {
    AUTH_SUCCESS: string;
    AUTH_ERROR: string;
    DECOUPLED: string;
    CHALLENGE: string;
    INFO: string;
    ERROR: string;
};
export declare class GPaymentsService {
    protected container: Container;
    protected api: ApiInternal;
    protected eventEmitter: EventEmitter;
    protected browserAndChallengeContainer: Container;
    protected iFrameAuthorization: IFrame;
    protected monitoringContainer: Container;
    protected iFrameSecondaryUrl?: IFrame;
    protected iFrameEvent: IFrameEvent;
    protected resultRead: boolean;
    constructor(container: Container, api: ApiInternal, eventEmitter: EventEmitter);
    load({ initialization_url, secondary_url, charge_3ds_id }: ITokenStandalone3DS, title: string): void;
    private initializeIFrames;
    private hideIframes;
    private setupIFrameEvents;
    private parseResultData;
    private parseHandleResponse;
    private parseError;
    private processResult;
    private externalAPI;
    private doPolling;
    private performAuthentication;
}
//# sourceMappingURL=gpayments-service.d.ts.map