import type { ContourCoordinates } from "../../components";
import type { RomaineModes, RomaineCommands } from "./romaineReducer";
export interface RomaineHistory {
    cmd: RomaineCommands;
    payload: any;
}
export interface RomaineState {
    mode: RomaineModes;
    angle: number;
    scale: {
        width: number;
        height: number;
    };
    image: {
        /** The original image width */
        width: number;
        /** The original image height */
        height: number;
        /** The dom id */
        id: string | null;
    };
    cropPoints: ContourCoordinates;
    /** A command and a payload.
     * The payload is automatically generated based on current state
     * (e.g. angle of rotation, crop point locations)
     */
    history: {
        commands: RomaineHistory[];
        pointer: number;
    };
}
export declare const initialRomaineState: RomaineState;
export declare type SetCropPoints = (cropPoints: undefined | ContourCoordinates | ((CPs?: ContourCoordinates) => ContourCoordinates | undefined)) => void;
export * from "./romaineReducer";
export * from "./history";
//# sourceMappingURL=index.d.ts.map