import { CardholderQuery } from '@strivve/strivve-sdk/lib/cardsavr/CardsavrHelper'; import { Job, MerchantSite, StrivveServiceInterface } from '../types'; export interface AccountLinkCoreOption { site_id: string; onSubmit: Function; service: StrivveServiceInterface; quick_start?: boolean; job?: Job; cvv?: string; phone_number?: string; email?: string; onMessage?: (id: string, values: any) => void; } export interface Field { name: string; value?: any; type?: string; label?: string; required?: boolean; secret?: boolean; } export interface ErrorField { name: string; message: string; } export interface AccountLinkState { values: { [key: string]: any; }; valid: boolean; loading: boolean; submitting: boolean; linking: boolean; success: boolean; failed: boolean; job?: Job; message?: any; pending?: any; errors?: ErrorField[]; fields: Field[]; sparse_data_fields: Field[]; percent: number; missing_fields: string[]; cvv?: string; phone_number?: string; email?: string; } export declare const initialStateAccountLink: { values: {}; valid: boolean; loading: boolean; linking: boolean; success: boolean; failed: boolean; submitting: boolean; fields: never[]; sparse_data_fields: never[]; missing_fields: never[]; percent: number; }; export declare const failedStatus: string[]; export default class AccountLinkCore { service: StrivveServiceInterface; site?: MerchantSite; state: AccountLinkState; fields: Field[]; query?: CardholderQuery; private onSubmit; private onMessage?; private subscriber; private intervalPercent?; constructor({ site_id, quick_start, onSubmit, onMessage, service, cvv, phone_number, email, job, }: AccountLinkCoreOption); getSite(id: string, quick_start?: boolean, job?: any): Promise; change(name: string, value: any): void; submitCvv(card_id: string): Promise; submit(): Promise; createIntervalPercent(): void; uniqueBy(arr: any, prop: string): any; createQuery(job: any): void; subscribe(func: Function): void; private updateState; private notifyForm; }