import * as React from "react";
import type { Widget, WidgetProps } from "../../types";
import type { OrdererPromptJSON } from "../../widget-ai-utils/orderer/orderer-ai-utils";
import type { PerseusOrdererUserInput, OrdererPublicWidgetOptions } from "@khanacademy/perseus-core";
type Position = {
    left: number;
    top: number;
};
type OrdererProps = WidgetProps<OrdererPublicWidgetOptions, PerseusOrdererUserInput>;
type OrdererDefaultProps = Pick<OrdererProps, "options" | "height" | "layout" | "linterContext" | "userInput">;
type OrdererState = {
    dragging: boolean;
    placeholderIndex: number | null | undefined;
    dragKey: string | null | undefined;
    animating: boolean;
    dragWidth: number | null | undefined;
    dragHeight: number | null | undefined;
    dragContent: any;
    offsetPos: Position | null | undefined;
    grabPos: any;
    mousePos?: any;
    animateTo: Position | null | undefined;
    onAnimationEnd?: (arg1: any) => void;
};
declare class Orderer extends React.Component<OrdererProps, OrdererState> implements Widget {
    static defaultProps: OrdererDefaultProps;
    state: OrdererState;
    onClick: (arg1: string, arg2: number, arg3: any, arg4: Element) => void;
    onRelease: (arg1: any) => void;
    onMouseMove: (arg1: any) => void;
    findCorrectIndex: (arg1: any, arg2: any) => any;
    isCardInBank: (arg1: any) => boolean;
    setListValues: (values: string[]) => void;
    getPromptJSON(): OrdererPromptJSON;
    /**
     * @deprecated and likely very broken API
     * [LEMS-3185] do not trust serializedState
     */
    getSerializedState(): any;
    render(): React.ReactNode;
}
/**
 * @deprecated and likely a very broken API
 * [LEMS-3185] do not trust serializedState
 */
declare function getUserInputFromSerializedState(serializedState: any): PerseusOrdererUserInput;
declare function getStartUserInput(): PerseusOrdererUserInput;
declare const _default: {
    name: string;
    displayName: string;
    hidden: true;
    widget: typeof Orderer;
    isLintable: true;
    getStartUserInput: typeof getStartUserInput;
    getUserInputFromSerializedState: typeof getUserInputFromSerializedState;
};
export default _default;
