import type { CSSProperties } from "react"; import type { EventCost } from "@crediball/core"; import { type CrediballThemeOverrides } from "./theme"; export interface ActionCostListProps extends CrediballThemeOverrides { /** Heading. Default "What costs what". */ title?: string; /** Subtitle under the heading. Pass "" to hide it. */ description?: string; /** Unit word after each price. Default "credits". */ creditsLabel?: string; /** * Suffix on actions that also charge a share of the AI cost on top of their * flat price. Default "+ usage". */ variableLabel?: string; /** * Price shown for an action with no flat price at all — everything it charges * is usage-based. Default "Usage-based". */ usageOnlyLabel?: string; /** Show at most this many rows (the most-used actions come first). */ limit?: number; /** * Restrict the list to these action keys, in this order — e.g. to price just * the features on the screen the list sits next to. Unknown keys are skipped. */ actions?: string[]; style?: CSSProperties; /** * Preview/demo override — renders these rows instead of the live catalog, the * same way `ReferralCard`'s `demo` prop does, so the dashboard's UI-patterns * page can show and theme the list with no connected app. Never pass this in * production: the whole point is that prices track the dashboard. */ demo?: EventCost[]; } /** * Drop-in price list of every action the app currently bills. Place anywhere * inside : * * * * Rows come straight from the dashboard's Actions page — label, credit cost and * whether the action also charges a usage-based share — so re-pricing or * renaming an action there updates the app with no code change and no * redeploy. Only *active* (billed) actions appear; ones still in the * "detected" state don't. * * Renders nothing while the catalog is loading or when no action is active * yet, so it's safe to leave mounted permanently. */ export declare function ActionCostList({ title, description, creditsLabel, variableLabel, usageOnlyLabel, limit, actions, accentColor, style, demo, }: ActionCostListProps): import("react").JSX.Element | null;