import { Beat, PrimaryCTA, SecondaryCTA } from '../../core'; import { BeatActions } from '../beatActions'; import { CtaHandlerName } from './ctaHandlers'; import { CtaSlot, CtaState, RunHandlerOptions } from './types'; export interface BeatCtaActions { runCta: (slot: CtaSlot, cta: PrimaryCTA | SecondaryCTA, params?: Record) => Promise; primary: CtaState; secondary: CtaState; } /** * The card's click runner plus per-slot enabled state. Call from an `observer` so `disabledWhen` * store reads re-render. `beatActions` is a parameter: BaseLayout mounts its provider below this. */ export declare const useBeatCtaActions: (beat: Beat, beatActions?: BeatActions, primaryCta?: PrimaryCTA | SecondaryCTA, secondaryCta?: PrimaryCTA | SecondaryCTA) => BeatCtaActions; /** * Runs a handler from inside a drawer, e.g. `runHandler('createBudget', { categoryGuid, amount }, * { onSuccess: ['refreshBeat'] })`. Inside a block, pass `useBeatActions()` as `beatActions`. */ export declare const useCtaHandler: (beat: Beat, beatActions?: BeatActions) => (handlerName: CtaHandlerName, params?: Record, options?: RunHandlerOptions) => Promise;