import { Reducer } from '@dineug/r-html';
import { EngineContext } from '../../context';
import { RootState } from '../../state';
import { ValuesType } from '../../../internal-types';
export declare const ActionType: {
    readonly changeDatabaseName: "settings.changeDatabaseName";
    readonly resize: "settings.resize";
    readonly changeZoomLevel: "settings.changeZoomLevel";
    readonly streamZoomLevel: "settings.streamZoomLevel";
    readonly scrollTo: "settings.scrollTo";
    readonly streamScrollTo: "settings.streamScrollTo";
    readonly changeShow: "settings.changeShow";
    readonly changeDatabase: "settings.changeDatabase";
    readonly changeCanvasType: "settings.changeCanvasType";
    readonly changeLanguage: "settings.changeLanguage";
    readonly changeTableNameCase: "settings.changeTableNameCase";
    readonly changeColumnNameCase: "settings.changeColumnNameCase";
    readonly changeBracketType: "settings.changeBracketType";
    readonly changeRelationshipDataTypeSync: "settings.changeRelationshipDataTypeSync";
    readonly changeRelationshipOptimization: "settings.changeRelationshipOptimization";
    readonly changeColumnOrder: "settings.changeColumnOrder";
    readonly changeMaxWidthComment: "settings.changeMaxWidthComment";
    readonly changeIgnoreSaveSettings: "settings.changeIgnoreSaveSettings";
};
export type ActionType = ValuesType<typeof ActionType>;
export type ActionMap = {
    [ActionType.changeDatabaseName]: {
        value: string;
    };
    [ActionType.resize]: {
        width: number;
        height: number;
    };
    [ActionType.changeZoomLevel]: {
        value: number;
    };
    [ActionType.streamZoomLevel]: {
        value: number;
    };
    [ActionType.scrollTo]: {
        scrollTop: number;
        scrollLeft: number;
    };
    [ActionType.streamScrollTo]: {
        movementX: number;
        movementY: number;
    };
    [ActionType.changeShow]: {
        show: number;
        value: boolean;
    };
    [ActionType.changeDatabase]: {
        value: number;
    };
    [ActionType.changeCanvasType]: {
        value: string;
    };
    [ActionType.changeLanguage]: {
        value: number;
    };
    [ActionType.changeTableNameCase]: {
        value: number;
    };
    [ActionType.changeColumnNameCase]: {
        value: number;
    };
    [ActionType.changeBracketType]: {
        value: number;
    };
    [ActionType.changeRelationshipDataTypeSync]: {
        value: boolean;
    };
    [ActionType.changeRelationshipOptimization]: {
        value: boolean;
    };
    [ActionType.changeColumnOrder]: {
        value: number;
        target: number;
    };
    [ActionType.changeMaxWidthComment]: {
        value: number;
    };
    [ActionType.changeIgnoreSaveSettings]: {
        saveSettingType: number;
        value: boolean;
    };
};
export type ReducerType<T extends keyof ActionMap> = Reducer<RootState, T, ActionMap, EngineContext>;
