import { GroupedOption, GroupedSingleSelectFieldValueWithCOT } from '../../../formElements/labeledGroupedSingleSelectWithCOT/GroupedSingleSelectFieldWithCOT';
/** API / UI transaction type for credit card payment (matches backend). */
export declare const CREDIT_CARD_PAYMENT_TRANSACTION_TYPE: "credit_card_payment";
export type TransactionTypeDropdownVisibility = {
    showCreditCard: boolean;
    showTransfer: boolean;
};
/**
 * Which transfer / credit-card rows appear in the transaction type dropdown.
 * When `accountType` is missing or unknown, only expense is implied (no transfer / no credit card row).
 */
export declare function getTransactionTypeDropdownVisibility(accountType: string | undefined): TransactionTypeDropdownVisibility;
/** True when the type dropdown can show more than expense (transfer and/or credit card payment). */
export declare function isTransactionTypeDropdownInteractive(accountType: string | undefined): boolean;
export declare function buildTypeDropdownGroups(accountType?: string): GroupedOption[];
/** Story / demo: `bank` shows expense, transfer, and credit card payment rows. */
export declare const TYPE_DROPDOWN_GROUPS: GroupedOption[];
/**
 * @param accountType — Line / transaction account `accountType`; filters which non-expense rows appear.
 * If `currentType` is transfer or credit_card_payment but that value is not in the filtered list (data mismatch), the select may not reflect the selection until data is fixed.
 */
export declare function buildTypeDropdownValue(currentType: string, accountType?: string): GroupedSingleSelectFieldValueWithCOT;
