import { AutoTransferRule, DepositAccount, FundingAccount, ID, PaymentAccount } from '@zeniai/client-epic-state';
export declare const buildAccountNameById: (depositAccounts: DepositAccount[], paymentAccounts: PaymentAccount[] | undefined) => Map<string, string>;
export interface AutoTransferRuleSummary {
    subtitle: string;
    title: string;
}
export declare const buildAutoTransferRuleSummary: (rule: AutoTransferRule, accountNameById: Map<string, string>) => AutoTransferRuleSummary;
export declare const ALL_MOVE_MONEY_OPTIONS: readonly ["sendMoney", "payBill", "transfer", "checkDeposit", "closeAccount", "editNickName", "accountStatement"];
export declare const toMoveMoneyOptionTypeStrict: (option?: string) => "transfer" | "sendMoney" | "payBill" | "checkDeposit" | "closeAccount" | "editNickName" | "accountStatement" | undefined;
export type MoveMoneyOption = NonNullable<ReturnType<typeof toMoveMoneyOptionTypeStrict>>;
export declare const ACCOUNTS_COLOR_PALETTE_LIST: string[];
export declare const getAccountsColorMappingFromIndex: (index: number) => string;
/**
 * Renders a logo for a FundingAccount as a 100%-of-parent element.
 * Callers control the size by sizing the wrapping container.
 *
 * - depositAccount → ZeniBrandCheckingAccIcon colored from index
 * - paymentAccount with a logo (base64 or url) → bank logo image
 * - paymentAccount without a logo → ExternalAccountIcon SVG fallback
 */
export declare const renderAccountIcon: (accounts: FundingAccount[], accountId: ID) => JSX.Element | null;
