import type { PerseusItem, ShowSolutions, PerseusScore, UserInputMap } from "@khanacademy/perseus-core";
export type ItemRendererState = {
    isMobile: boolean;
    isRtl: boolean;
    perseusItem: PerseusItem;
    originalItem: PerseusItem;
    answerless: boolean;
    score: PerseusScore | undefined;
    userInput: UserInputMap | undefined;
    showPopover: boolean;
    showSolutions: ShowSolutions | undefined;
    hintsVisible: number;
    key: number;
    reviewMode: boolean;
};
export type ItemRendererAction = {
    type: "TOGGLE_MOBILE";
    payload: boolean;
} | {
    type: "TOGGLE_RTL";
    payload: boolean;
} | {
    type: "UPDATE_ITEM";
    payload: PerseusItem;
} | {
    type: "SET_SCORE";
    score: PerseusScore;
    userInput: UserInputMap;
} | {
    type: "TOGGLE_POPOVER";
    payload: boolean;
} | {
    type: "SET_SHOW_SOLUTIONS";
    payload: ShowSolutions | undefined;
} | {
    type: "SET_HINTS_VISIBLE";
    payload: number;
} | {
    type: "SET_ANSWERLESS";
    payload: boolean;
} | {
    type: "RESET_STATE";
} | {
    type: "SKIP_TO_SOLUTION";
};
export declare const createInitialState: (item: PerseusItem, isMobile?: boolean, isRtl?: boolean, reviewMode?: boolean, showSolutions?: ShowSolutions) => ItemRendererState;
export declare const itemRendererReducer: (state: ItemRendererState, action: ItemRendererAction) => ItemRendererState;
