import * as React from "react"; import type { ServerItemRenderer } from "../server-item-renderer"; import type { APIOptions } from "../types"; import type { PerseusItem, ShowSolutions } from "@khanacademy/perseus-core"; /** * Custom hook to manage the Server Item Renderer With Debug UI state */ export declare const useItemRenderer: (item: PerseusItem, apiOptions?: APIOptions, reviewMode?: boolean, showSolutions?: ShowSolutions) => { ref: React.RefObject; state: import("./item-renderer-reducer").ItemRendererState; options: { isMobile: boolean; customKeypad: boolean; showSolutions: ShowSolutions | undefined; interactionCallback: () => void; isArticle?: boolean; onFocusChange?: (newFocusPath: import("..").FocusPath, oldFocusPath: import("..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown; showAlignmentOptions?: boolean; readOnly?: boolean; editingDisabled?: boolean; answerableCallback?: (arg1: boolean) => unknown; getAnotherHint?: () => unknown; imagePlaceholder?: React.ReactNode; widgetPlaceholder?: React.ReactNode; baseElements?: { Link: React.ComponentType; }; imagePreloader?: (dimensions: import("../types").Dimensions) => React.ReactNode; trackInteraction?: (args: { type: string; id: string; correct?: boolean; } & Partial & Partial<{ visible: number; }>) => void; nativeKeypadProxy?: (blur: () => void) => import("@khanacademy/math-input").KeypadAPI; isMobileApp?: boolean; setDrawingAreaAvailable?: (arg1: boolean) => unknown; hintProgressColor?: string; canScrollPage?: boolean; editorChangeDelay?: number; flags?: Record<"new-radio-widget" | "image-widget-upgrade-gif-controls" | "image-widget-upgrade-scale", boolean>; }; toggleMobile: (isMobile: boolean) => void; toggleRtl: (isRtl: boolean) => void; updateJson: (json: string) => boolean; handleReset: () => void; handleSkip: () => void; handleCheck: () => void; setShowPopover: (show: boolean) => void; };