import { h } from 'preact';
import UIElement from '../UIElement';
import { ErrorCodeObject } from './components/utils';
import Language from '../../language';
import { ActionHandledReturnObject, AnalyticsModule } from '../types';
import { SendAnalyticsObject } from '../../core/Analytics/types';
export interface ThreeDS2ChallengeProps {
    token?: string;
    dataKey?: string;
    notificationURL?: string;
    onError?: (error: string | ErrorCodeObject) => void;
    paymentData?: string;
    size?: string;
    challengeWindowSize?: '01' | '02' | '03' | '04' | '05';
    type?: string;
    loadingContext?: string;
    useOriginalFlow?: boolean;
    i18n?: Language;
    onActionHandled: (rtnObj: ActionHandledReturnObject) => void;
    modules?: {
        analytics: AnalyticsModule;
    };
}
declare class ThreeDS2Challenge extends UIElement<ThreeDS2ChallengeProps> {
    static type: string;
    static defaultProps: {
        dataKey: string;
        size: string;
        type: string;
    };
    protected submitAnalytics: (aObj: SendAnalyticsObject) => void;
    onComplete(state: any): void;
    render(): h.JSX.Element;
}
export default ThreeDS2Challenge;
