import type { Page } from 'puppeteer';
import type { AccountDataSchema } from '../__generated__/accountDataSchema.js';
import type { ForeignTransactionsBusinessSchema } from '../__generated__/foreignTransactionsBusinessSchema.js';
import type { ForeignTransactionsPersonalSchema } from '../__generated__/foreignTransactionsPersonalSchema.js';
import type { HapoalimDepositsSchema } from '../__generated__/hapoalimDepositsSchema.js';
import type { HapoalimForeignDepositsSchema } from '../__generated__/hapoalimForeignDepositsSchema.js';
import type { ILSCheckingTransactionsDataSchema } from '../__generated__/ILSCheckingTransactionsDataSchema.js';
import { type SwiftTransaction } from '../zod-schemas/swift-transaction-schema.js';
import { type SwiftTransactions } from '../zod-schemas/swift-transactions-schema.js';
export declare function hapoalim(page: Page, credentials: HapoalimCredentials, options?: HapoalimOptions): Promise<"Unknown Error" | {
    getAccountsData: () => Promise<{
        data: AccountDataSchema | null;
        isValid: boolean | null;
        errors?: unknown;
    }>;
    getILSTransactions: (account: {
        bankNumber: number;
        branchNumber: number;
        accountNumber: number;
    }) => Promise<{
        data: ILSCheckingTransactionsDataSchema | null;
        isValid: boolean | null;
        errors?: unknown;
    }>;
    getForeignTransactions: <T extends boolean>(account: {
        bankNumber: number;
        branchNumber: number;
        accountNumber: number;
    }, isBusiness?: T) => Promise<{
        data: ForeignTransactionsBusinessSchema | ForeignTransactionsPersonalSchema | null;
        isValid: boolean | null;
        errors?: unknown;
    }>;
    getForeignSwiftTransactions: (account: {
        bankNumber: number;
        branchNumber: number;
        accountNumber: number;
    }) => Promise<{
        data: SwiftTransactions | null;
        isValid: boolean | null;
        errors?: unknown;
    }>;
    getForeignSwiftTransaction: (account: {
        bankNumber: number;
        branchNumber: number;
        accountNumber: number;
    }, transferCatenatedId: string, dataOriginCode: number) => Promise<{
        data: SwiftTransaction | null;
        isValid: boolean | null;
        errors?: unknown;
    }>;
    getDeposits: (account: {
        bankNumber: number;
        branchNumber: number;
        accountNumber: number;
    }) => Promise<{
        data: HapoalimDepositsSchema | null;
        isValid: boolean | null;
        errors?: unknown;
    }>;
    getForeignDeposits: (account: {
        bankNumber: number;
        branchNumber: number;
        accountNumber: number;
    }) => Promise<{
        data: HapoalimForeignDepositsSchema | null;
        isValid: boolean | null;
        errors?: unknown;
    }>;
}>;
export declare class HapoalimOptions {
    validateSchema?: boolean;
    isBusiness?: boolean;
    duration?: number;
    getTransactionsDetails?: boolean;
}
declare class HapoalimPersonalCredentials {
    userCode: string;
    password: string;
}
declare class HapoalimBusinessCredentials extends HapoalimPersonalCredentials {
}
export type HapoalimCredentials = HapoalimPersonalCredentials | HapoalimBusinessCredentials;
export {};
