import { IApiResponse } from '..';
export interface ILinkTokenResponse {
    id: string;
    link_token: string;
}
export interface IPlaidService {
    getLinkToken(authToken: string, accountId: string, checkoutId: string, signal?: AbortSignal): Promise<IApiResponse<ILinkTokenResponse>>;
    getLinkTokenForVerification(authToken: string, businessId: string, signal?: AbortSignal): Promise<IApiResponse<ILinkTokenResponse>>;
    tokenizeBankAccount(authToken: string, accountId: string, publicToken: string, linkTokenId?: string, paymentMethodGroupId?: string, signal?: AbortSignal): Promise<IApiResponse<any>>;
}
export declare class PlaidService implements IPlaidService {
    getLinkToken(authToken: string, accountId: string, checkoutId: string, signal?: AbortSignal): Promise<IApiResponse<ILinkTokenResponse>>;
    getLinkTokenForVerification(authToken: string, businessId: string, signal?: AbortSignal): Promise<IApiResponse<ILinkTokenResponse>>;
    getBankAccountData(authToken: string, businessId: string, signal?: AbortSignal): Promise<IApiResponse<any>>;
    postPlaidVerifiedBankAccountData(authToken: string, businessId: string, payload: {
        public_token: string;
        link_token_id: string;
    }, signal?: AbortSignal): Promise<IApiResponse<any>>;
    tokenizeBankAccount(authToken: string, accountId: string, publicToken: string, linkTokenId?: string, paymentMethodGroupId?: string, signal?: AbortSignal): Promise<IApiResponse<any>>;
}
