import { Reducer } from '@dineug/r-html';
import { EngineContext } from '../../context';
import { RootState } from '../../state';
import { ValuesType } from '../../../internal-types';
export declare const ActionType: {
    readonly addTable: "table.add";
    readonly moveTable: "table.move";
    readonly moveToTable: "table.moveTo";
    readonly removeTable: "table.remove";
    readonly changeTableName: "table.changeName";
    readonly changeTableComment: "table.changeComment";
    readonly changeTableColor: "table.changeColor";
    readonly changeZIndex: "table.changeZIndex";
    readonly sortTable: "table.sort";
};
export type ActionType = ValuesType<typeof ActionType>;
export type ActionMap = {
    [ActionType.addTable]: {
        id: string;
        ui: {
            x: number;
            y: number;
            zIndex: number;
        };
    };
    [ActionType.moveTable]: {
        movementX: number;
        movementY: number;
        ids: string[];
    };
    [ActionType.moveToTable]: {
        id: string;
        x: number;
        y: number;
    };
    [ActionType.removeTable]: {
        id: string;
    };
    [ActionType.changeTableName]: ChangeTableValuePayload;
    [ActionType.changeTableComment]: ChangeTableValuePayload;
    [ActionType.changeTableColor]: {
        id: string;
        color: string;
        prevColor: string;
    };
    [ActionType.changeZIndex]: {
        id: string;
        zIndex: number;
    };
    [ActionType.sortTable]: void;
};
export type ReducerType<T extends keyof ActionMap> = Reducer<RootState, T, ActionMap, EngineContext>;
type ChangeTableValuePayload = {
    id: string;
    value: string;
};
export {};
