import { MaxOptions, type MaxCredentials } from './scrapers/max.js';
import { AmexCredentials, AmexOptions, CalCredentials, CalOptions, DiscountCredentials, DiscountOptions, HapoalimCredentials, HapoalimOptions, IsracardCredentials, IsracardOptions } from './scrapers/scrapers-index.js';
export declare function init({ headless, userAgent, }?: {
    headless?: boolean;
    userAgent?: string;
}): Promise<{
    hapoalim: (credentials: HapoalimCredentials, options?: HapoalimOptions) => Promise<"Unknown Error" | {
        getAccountsData: () => Promise<{
            data: import("./__generated__/accountDataSchema.js").AccountDataSchema | null;
            isValid: boolean | null;
            errors?: unknown;
        }>;
        getILSTransactions: (account: {
            bankNumber: number;
            branchNumber: number;
            accountNumber: number;
        }) => Promise<{
            data: import("./__generated__/ILSCheckingTransactionsDataSchema.js").ILSCheckingTransactionsDataSchema | null;
            isValid: boolean | null;
            errors?: unknown;
        }>;
        getForeignTransactions: <T extends boolean>(account: {
            bankNumber: number;
            branchNumber: number;
            accountNumber: number;
        }, isBusiness?: T) => Promise<{
            data: import("./__generated__/foreignTransactionsBusinessSchema.js").ForeignTransactionsBusinessSchema | import("./__generated__/foreignTransactionsPersonalSchema.js").ForeignTransactionsPersonalSchema | null;
            isValid: boolean | null;
            errors?: unknown;
        }>;
        getForeignSwiftTransactions: (account: {
            bankNumber: number;
            branchNumber: number;
            accountNumber: number;
        }) => Promise<{
            data: import("./__generated__/foreignSwiftTransactions.js").ForeignSwiftTransactions | null;
            isValid: boolean | null;
            errors?: unknown;
        }>;
        getForeignSwiftTransaction: (account: {
            bankNumber: number;
            branchNumber: number;
            accountNumber: number;
        }, transferCatenatedId: string) => Promise<{
            data: import("./__generated__/foreignSwiftTransaction.js").ForeignSwiftTransaction | null;
            isValid: boolean | null;
            errors?: unknown;
        }>;
        getDeposits: (account: {
            bankNumber: number;
            branchNumber: number;
            accountNumber: number;
        }) => Promise<{
            data: import("./__generated__/hapoalimDepositsSchema.js").HapoalimDepositsSchema | null;
            isValid: boolean | null;
            errors?: unknown;
        }>;
        getForeignDeposits: (account: {
            bankNumber: number;
            branchNumber: number;
            accountNumber: number;
        }) => Promise<{
            data: import("./__generated__/hapoalimForeignDepositsSchema.js").HapoalimForeignDepositsSchema | null;
            isValid: boolean | null;
            errors?: unknown;
        }>;
    }>;
    isracard: (credentials: IsracardCredentials, options?: IsracardOptions) => Promise<{
        getMonthDashboard: (RequestedMonthDate: Date) => Promise<{
            isValid: boolean;
            errors: unknown;
            data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
        } | {
            data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
        }>;
        getDashboards: () => Promise<({
            isValid: boolean;
            errors: unknown;
            data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
        } | {
            data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
        })[]>;
        getMonthTransactions: (RequestedMonthDate: Date) => Promise<{
            isValid: boolean;
            errors: unknown;
            data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
        } | {
            data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
            isValid: null;
        }>;
        getTransactions: () => Promise<({
            isValid: boolean;
            errors: unknown;
            data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
        } | {
            data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
            isValid: null;
        })[]>;
    }>;
    amex: (credentials: AmexCredentials, options?: AmexOptions) => Promise<{
        getMonthDashboard: (RequestedMonthDate: Date) => Promise<{
            isValid: boolean;
            errors: unknown;
            data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
        } | {
            data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
        }>;
        getDashboards: () => Promise<({
            isValid: boolean;
            errors: unknown;
            data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
        } | {
            data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
        })[]>;
        getMonthTransactions: (RequestedMonthDate: Date) => Promise<{
            isValid: boolean;
            errors: unknown;
            data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
        } | {
            data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
            isValid: null;
        }>;
        getTransactions: () => Promise<({
            isValid: boolean;
            errors: unknown;
            data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
        } | {
            data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
            isValid: null;
        })[]>;
    }>;
    cal: (credentials: CalCredentials, options?: CalOptions) => Promise<{
        getMonthTransactions: (last4Digits: string, month: Date) => Promise<{
            comments: {
                value: string;
                key: string;
            }[];
            merchantName: string;
            trnIntId: string;
            trnNumaretor: number;
            trnPurchaseDate: string;
            trnAmt: number;
            trnCurrencySymbol: string;
            trnType: string;
            trnTypeCode: string;
            debCrdDate: string;
            amtBeforeConvAndIndex: number;
            debCrdCurrencySymbol: string;
            merchantAddress: string;
            merchantPhoneNo: string;
            branchCodeDesc: string;
            transCardPresentInd: boolean;
            curPaymentNum: number;
            numOfPayments: number;
            tokenInd: number;
            walletProviderCode: number;
            walletProviderDesc: string;
            tokenNumberPart4: string;
            cashAccountTrnAmt: number;
            chargeExternalToCardComment: string;
            transTypeCommentDetails: string[];
            refundInd: boolean;
            isImmediateCommentInd: boolean;
            isImmediateHHKInd: boolean;
            isMargarita: boolean;
            isSpreadPaymenstAbroad: boolean;
            trnExacWay: number;
            debitSpreadInd: boolean;
            onGoingTransactionsComment: string;
            earlyPaymentInd: boolean;
            merchantId: string;
            crdExtIdNumTypeCode: string;
            transSource: string;
            isAbroadTransaction: boolean;
        }[]>;
        getTransactions: () => Promise<{
            comments: {
                value: string;
                key: string;
            }[];
            merchantName: string;
            trnIntId: string;
            trnNumaretor: number;
            trnPurchaseDate: string;
            trnAmt: number;
            trnCurrencySymbol: string;
            trnType: string;
            trnTypeCode: string;
            debCrdDate: string;
            amtBeforeConvAndIndex: number;
            debCrdCurrencySymbol: string;
            merchantAddress: string;
            merchantPhoneNo: string;
            branchCodeDesc: string;
            transCardPresentInd: boolean;
            curPaymentNum: number;
            numOfPayments: number;
            tokenInd: number;
            walletProviderCode: number;
            walletProviderDesc: string;
            tokenNumberPart4: string;
            cashAccountTrnAmt: number;
            chargeExternalToCardComment: string;
            transTypeCommentDetails: string[];
            refundInd: boolean;
            isImmediateCommentInd: boolean;
            isImmediateHHKInd: boolean;
            isMargarita: boolean;
            isSpreadPaymenstAbroad: boolean;
            trnExacWay: number;
            debitSpreadInd: boolean;
            onGoingTransactionsComment: string;
            earlyPaymentInd: boolean;
            merchantId: string;
            crdExtIdNumTypeCode: string;
            transSource: string;
            isAbroadTransaction: boolean;
        }[]>;
    }>;
    discount: (credentials: DiscountCredentials, options?: DiscountOptions) => Promise<{
        getMonthTransactions: (month: Date) => Promise<{
            success: boolean;
            accountNumber: string;
            balance: number;
            transactions: {
                OperationDate: string;
                ValueDate: string;
                OperationCode: string;
                OperationDescription: string;
                OperationDescription2: string;
                OperationDescription3: string;
                OperationBranch: number;
                OperationBank: number;
                Channel: string;
                ChannelName: string;
                InstituteCode: string;
                OperationAmount: number;
                BalanceAfterOperation: number;
                OperationNumber: number;
                BranchTreasuryNumber: string;
                Urn: string;
                OperationDetailsServiceName: string;
                CommissionChannelCode: string;
                CommissionChannelName: string;
                CommissionTypeName: string;
                BusinessDayDate: string;
                EventName: string;
                CategoryCode: number;
                CategoryDescCode: number;
                CategoryDescription: string;
                OperationDescriptionToDisplay: string;
                OperationOrder: number;
                IsLastSeen: boolean;
                CheckNumber?: number | undefined;
            }[];
        }>;
        getTransactions: () => Promise<{
            success: boolean;
            accountNumber: string;
            balance: number;
            transactions: {
                OperationDate: string;
                ValueDate: string;
                OperationCode: string;
                OperationDescription: string;
                OperationDescription2: string;
                OperationDescription3: string;
                OperationBranch: number;
                OperationBank: number;
                Channel: string;
                ChannelName: string;
                InstituteCode: string;
                OperationAmount: number;
                BalanceAfterOperation: number;
                OperationNumber: number;
                BranchTreasuryNumber: string;
                Urn: string;
                OperationDetailsServiceName: string;
                CommissionChannelCode: string;
                CommissionChannelName: string;
                CommissionTypeName: string;
                BusinessDayDate: string;
                EventName: string;
                CategoryCode: number;
                CategoryDescCode: number;
                CategoryDescription: string;
                OperationDescriptionToDisplay: string;
                OperationOrder: number;
                IsLastSeen: boolean;
                CheckNumber?: number | undefined;
            }[];
        }[]>;
    }>;
    max: (credentials: MaxCredentials, options?: MaxOptions) => Promise<{
        getTransactions: () => Promise<{
            accountNumber: string;
            txns: {
                userIndex: number;
                arn: string;
                actualPaymentAmount: number;
                cardIndex: number;
                categoryId: number;
                comments: string;
                discountKeyAmount: null;
                discountKeyRecType: null;
                ethocaInd: boolean;
                isRegisterCh: boolean;
                isSpreadingAutorizationAllowed: boolean;
                issuerId: number;
                merchantData: {
                    address: string | null;
                    coordinates: null;
                    maxPhone: boolean;
                    merchant: string;
                    merchantCommercialName: string | null;
                    merchantNumber: string;
                    merchantPhone: string;
                    merchantTaxId: string;
                };
                merchantName: string;
                originalAmount: number;
                originalCurrency: "ILS";
                paymentCurrency: number | null;
                planName: string;
                planTypeId: number;
                promotionAmount: number | null;
                promotionClub: string;
                promotionType: null;
                purchaseDate: string;
                receiptPDF: null;
                refIndex: number;
                runtimeReference: {
                    type: number;
                    id: string;
                };
                runtimeReferenceId: null;
                shortCardNumber: string;
                spreadTransactionByCampainInd: boolean;
                spreadTransactionByCampainNumber: number | null;
                tableType: number;
                tag: null;
                uid: string;
                upSaleForTransactionResult: null;
                dealData?: {
                    acq: string;
                    adjustmentAmount: null;
                    adjustmentType: number;
                    amount: number;
                    amountIls: number;
                    amountLeft: number;
                    arn: string;
                    authorizationNumber: string;
                    cardName: null;
                    cardToken: null;
                    commissionVat: number;
                    directExchange: null;
                    exchangeCommissionAmount: null;
                    exchangeCommissionMaam: null;
                    exchangeCommissionType: null;
                    exchangeDirect: string;
                    exchangeRate: number;
                    indexRateBase: null;
                    indexRatePmt: null;
                    interestAmount: number;
                    isAllowedSpreadWithBenefit: boolean;
                    issuerCurrency: string;
                    issuerExchangeRate: null;
                    originalTerm: null;
                    percentMaam: number | null;
                    plan: number;
                    posEntryEmv: number;
                    processingDate: string;
                    purchaseAmount: null;
                    purchaseTime: string | null;
                    refNbr: string;
                    showCancelDebit: boolean;
                    showSpread: boolean;
                    showSpreadBenefitButton: boolean;
                    showSpreadButton: boolean;
                    showSpreadForLeumi: boolean;
                    tdmCardToken: string;
                    tdmTransactionType: number;
                    transactionType: number;
                    txnCode: number;
                    userName: string;
                    withdrawalCommissionAmount: null;
                } | undefined;
                fundsTransferComment?: string | undefined;
                fundsTransferReceiverOrTransfer?: string | undefined;
                paymentDate?: string | undefined;
            }[];
        }[]>;
    }>;
    close: () => Promise<void>;
}>;
