import {FontFace, ComponentOptions, EventMessage, FieldOptions} from '../common/types'; import {ComponentMountStatus, Events, IDeal} from '../common/enums'; import {ComponentType, IdealComponentInterface} from '../common/base-types'; import {PaymentIntent, AdditionalData, Callbacks} from '../../extensions/three_domain_secure/common/types'; import IDealField from './ideal-field'; export default class IDealComponent { fields: IDealField[]; name: string; type: ComponentType.IDeal; status: ComponentMountStatus; id: string; options: ComponentOptions; gatewayConfig: any; listeners: { focus?: Function; blur?: Function; change?: Function; ready?: Function; }; fonts: FontFace[]; container: HTMLElement; selectedBank: any; constructor(componentOptions?: ComponentOptions); createField(fieldType: IDeal.ComponentFieldType, fieldOptions?: FieldOptions): IDealField; getFields(): IDealField[]; deregister(id: any): void; at(domElement: string | HTMLElement): IDealComponent; on(eventType: Events, eventCallback: Function): this; focus(): void; blur(): void; clear(): void; isMounted(): boolean; update(options: ComponentOptions): void; mount(domElement: string | HTMLElement): Promise; onSelectedBankChange(data: any): void; getSelectedBank(): any; validateCardDetails(): Promise; tokenize(data?: any): Promise; authorizeWith3ds( paymentIntent: PaymentIntent, additionalData?: AdditionalData, callbacks?: Callbacks ): Promise; framesCreated(): string[]; delegateEvent(data: EventMessage): void; destroy(): Promise; }