import { BottomActions } from '../../../transactions/constants/Actions'; export interface TransactionDetailsLayoutConfig { /** Bottom action rows rendered in the drawer. */ bottomActions: BottomActions[]; } /** * Drilldown variations of the Transaction Details drawer, keyed by the CTA's `variant` * (`primary_cta.variant` — the CTA's `block` picks which action block opens, `variant` tunes what it * does). Names describe the behavior, not the originating beat, so any beat whose CTA wants the same * drilldown reuses the value. Extend `TransactionDetailsLayoutConfig` (styles, top actions, …) as * variants need to differ, rather than branching on the variant string across the block. * * - `MerchantBudget` — shows the "Add a Merchant Budget" row. * - `NoMerchantBudget` — drops the "Add a Merchant Budget" row. */ export declare const transactionDetailsVariant: { readonly MerchantBudget: "merchant_budget"; readonly NoMerchantBudget: "no_merchant_budget"; }; export type TransactionDetailsVariant = (typeof transactionDetailsVariant)[keyof typeof transactionDetailsVariant]; /** * Resolve a CTA variant's drawer config. Any variant without its own entry — including `null` and * unknown values — falls back to the full action set (merchant budget included). That default is the * common case, not a misconfiguration, so this does not warn. `Object.hasOwn` avoids inherited keys * (e.g. `constructor`) resolving to a non-config. */ export declare const resolveLayoutConfig: (variant: string | null | undefined) => TransactionDetailsLayoutConfig;