import type { Page } from 'puppeteer';
import { type HapoalimAccountData } from '../zod-schemas/hapoalim-account-data-schema.js';
import { type HapoalimDeposits } from '../zod-schemas/hapoalim-deposits-schema.js';
import { type HapoalimForeignDeposits } from '../zod-schemas/hapoalim-foreign-deposits-schema.js';
import { type HapoalimForeignTransactionsBusiness } from '../zod-schemas/hapoalim-foreign-transactions-business-schema.js';
import { type HapoalimForeignTransactionsPersonal } from '../zod-schemas/hapoalim-foreign-transactions-personal-schema.js';
import { type HapoalimILSTransactions } from '../zod-schemas/hapoalim-ils-checking-transactions-schema.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: HapoalimAccountData | null;
        isValid: boolean | null;
        errors?: unknown;
    }>;
    getILSTransactions: (account: {
        bankNumber: number;
        branchNumber: number;
        accountNumber: number;
    }) => Promise<{
        data: HapoalimILSTransactions | null;
        isValid: boolean | null;
        errors?: unknown;
    }>;
    getForeignTransactions: <T extends boolean>(account: {
        bankNumber: number;
        branchNumber: number;
        accountNumber: number;
    }, isBusiness?: T) => Promise<{
        data: HapoalimForeignTransactionsBusiness | HapoalimForeignTransactionsPersonal | 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: HapoalimDeposits | null;
        isValid: boolean | null;
        errors?: unknown;
    }>;
    getForeignDeposits: (account: {
        bankNumber: number;
        branchNumber: number;
        accountNumber: number;
    }) => Promise<{
        data: HapoalimForeignDeposits | null;
        isValid: boolean | null;
        errors?: unknown;
    }>;
}>;
export declare class HapoalimOptions {
    validateSchema?: boolean;
    isBusiness?: boolean;
    duration?: number;
    getTransactionsDetails?: boolean;
    otpCallback?: () => Promise<string>;
}
declare class HapoalimPersonalCredentials {
    userCode: string;
    password: string;
}
declare class HapoalimBusinessCredentials extends HapoalimPersonalCredentials {
}
export type HapoalimCredentials = HapoalimPersonalCredentials | HapoalimBusinessCredentials;
export {};
