import { type GenAIChatEffort } from "@gooddata/sdk-model"; import { type IUiMenuInteractiveItemWrapperProps, type IUiMenuItem } from "@gooddata/sdk-ui-kit"; /** * Menu-item payload for the reasoning row. Carries the current value and the change callback so the * custom wrapper can render the nested Dropdown without the agent dropdown wiring it per-render. * @internal */ export type ReasoningMenuItemData = { type: "reasoning"; selectedEffort: GenAIChatEffort; onSelectEffort?: (effort: GenAIChatEffort) => void; }; export declare const REASONING_MENU_ITEM_ID = "reasoning"; /** * Which wording the reasoning options use. * - "short": abbreviated labels for the agent dropdown * - "full": complete labels for standalone display * @internal */ export type ReasoningLabelMode = "short" | "full"; /** * Localized label of the currently selected reasoning mode ("Quick" or "Quick answer", depending on * the label mode), or undefined otherwise. * @internal */ export declare function useSelectedReasoningLabel(selectedEffort: GenAIChatEffort, labelMode: ReasoningLabelMode): string | undefined; /** * Builds the items appended at the bottom of the agent menu: a separator and the "Reasoning" row. * Returns an empty array when the feature is disabled. * @internal */ export declare function useReasoningMenuItems({ enabled, selectedEffort, onSelectEffort, }: { enabled: boolean; selectedEffort: GenAIChatEffort; onSelectEffort?: (effort: GenAIChatEffort) => void; }): IUiMenuItem<{ interactive: ReasoningMenuItemData; }>[]; /** * Menu-item payload for a single reasoning-effort option. * @internal */ export type EffortMenuItemData = { interactive: { effort: GenAIChatEffort; }; }; /** * Builds the effort options shared by the in-agent-menu reasoning row ("short": Quick / Thinking) and * the standalone reasoning dropdown ("full": Quick answer / Deep thinking). * @internal */ export declare function useReasoningOptionItems(selectedEffort: GenAIChatEffort, labelMode: ReasoningLabelMode): IUiMenuItem[]; /** * Header for the standalone effort dropdown (dialog with close control). * @internal */ export declare function ReasoningEffortMenuHeader({ titleId }: { titleId: string; }): import("react/jsx-runtime").JSX.Element; /** * The "Reasoning" row rendered inside the agent menu. It is a self-contained Dropdown whose trigger * is the row and whose body is the effort options — opened as its own overlay on the left of the row. * @internal */ export declare function GenAIChatReasoningMenuRow({ item, }: IUiMenuInteractiveItemWrapperProps<{ interactive: ReasoningMenuItemData; }>): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=GenAIChatReasoningMenu.d.ts.map