import { type Address } from "viem"; import type { AddressPrefix } from "../entities/Account.js"; export declare const SUB_ACCOUNT_MIN_ID = 1; export declare const SUB_ACCOUNT_MAX_ID = 255; export interface GetFreeSubAccountsOptions { startId?: number; endId?: number; } export interface BorrowCompatibleSubAccountCandidate { subAccount: Address; enabledControllers: readonly Address[]; } export declare function getSubAccountId(primary: Address, subAccount: Address): number; export declare function getSubAccountAddress(primary: Address, subAccountId: number): `0x${string}`; export declare function isSubAccount(primary: Address, subAccount: Address): boolean; export declare function getAddressPrefix(address: Address): AddressPrefix; export declare function getFreeSubAccounts(primary: Address, occupiedSubAccounts: readonly Address[], options?: GetFreeSubAccountsOptions): Address[]; export declare function isBorrowControllerCompatible(enabledControllers: readonly Address[], borrowVault: Address): boolean; export declare function selectBorrowCompatibleSubAccount(candidates: readonly BorrowCompatibleSubAccountCandidate[], borrowVault: Address): Address | undefined; //# sourceMappingURL=subAccounts.d.ts.map