import { BankAccountRepository } from './repositories/bank-account.repository';
import { BankRepository } from '../bank/repositories/bank.repository';
import { CreateBankAccountDto, UpdateBankAccountDto, ListBankAccountsDto } from './dto';
import { BankAccountEntity } from '../../entities/bank-account.entity';
export declare class BankAccountService {
    private readonly repo;
    private readonly bankRepo;
    constructor(repo: BankAccountRepository, bankRepo: BankRepository);
    findAll(query?: ListBankAccountsDto): Promise<{
        items: BankAccountEntity[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    findAllActive(): Promise<BankAccountEntity[]>;
    findAllForLookup(): Promise<{
        id: string;
        account_name: string;
        bank_id: string;
        bank_name: string;
    }[]>;
    findById(id: string): Promise<BankAccountEntity>;
    create(dto: CreateBankAccountDto): Promise<{
        id: string;
        message: string;
    }>;
    update(id: string, dto: UpdateBankAccountDto): Promise<{
        id: string;
        message: string;
    }>;
    remove(id: string): Promise<{
        message: string;
    }>;
    requireActive(id: string): Promise<BankAccountEntity>;
    findByIdWithBankOrNull(id: string): Promise<BankAccountEntity | null>;
    private assertBankUsable;
}
