import { Flow } from "../../../data/types";
import { UndoableAction } from "./types";
export interface FlowsState {
    flows: Flow[];
}
export declare const flowsSlice: import("@reduxjs/toolkit").Slice<FlowsState, {
    addFlow: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<Flow>) => void;
    moveFlow: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<{
        flowId: string;
        index: number;
    }>) => void;
    deleteFlowRaw: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<{
        flowId: string;
    }>) => void;
    updateFlowName: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<{
        flowId: string;
        name: string;
    }>) => void;
    updateFlowPageComponentIds: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<{
        flowId: string;
        pageComponentIds: string[];
    }>) => void;
    addPageComponentToFlow: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<{
        flowId: string;
        pageComponentId: string;
        index?: number;
    }>) => void;
    deletePageComponentFromFlow: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<{
        componentId: string;
    }>) => void;
}, "flows">;
export declare const FLOWS_REDUX_ACTIONS: import("@reduxjs/toolkit").CaseReducerActions<{
    addFlow: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<Flow>) => void;
    moveFlow: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<{
        flowId: string;
        index: number;
    }>) => void;
    deleteFlowRaw: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<{
        flowId: string;
    }>) => void;
    updateFlowName: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<{
        flowId: string;
        name: string;
    }>) => void;
    updateFlowPageComponentIds: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<{
        flowId: string;
        pageComponentIds: string[];
    }>) => void;
    addPageComponentToFlow: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<{
        flowId: string;
        pageComponentId: string;
        index?: number;
    }>) => void;
    deletePageComponentFromFlow: (state: import("immer/dist/internal").WritableDraft<FlowsState>, action: UndoableAction<{
        componentId: string;
    }>) => void;
}, "flows">;
export declare const addFlow: import("@reduxjs/toolkit").ActionCreatorWithPayload<Flow & {
    generatedByUndoRedo?: boolean | undefined;
}, "flows/addFlow">, deleteFlowRaw: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
    flowId: string;
} & {
    generatedByUndoRedo?: boolean | undefined;
}, "flows/deleteFlowRaw">, moveFlow: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
    flowId: string;
    index: number;
} & {
    generatedByUndoRedo?: boolean | undefined;
}, "flows/moveFlow">, updateFlowName: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
    flowId: string;
    name: string;
} & {
    generatedByUndoRedo?: boolean | undefined;
}, "flows/updateFlowName">, updateFlowPageComponentIds: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
    flowId: string;
    pageComponentIds: string[];
} & {
    generatedByUndoRedo?: boolean | undefined;
}, "flows/updateFlowPageComponentIds">, addPageComponentToFlow: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
    flowId: string;
    pageComponentId: string;
    index?: number | undefined;
} & {
    generatedByUndoRedo?: boolean | undefined;
}, "flows/addPageComponentToFlow">, deletePageComponentFromFlow: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
    componentId: string;
} & {
    generatedByUndoRedo?: boolean | undefined;
}, "flows/deletePageComponentFromFlow">;
export declare const flowsReducer: import("redux").Reducer<FlowsState>;
//# sourceMappingURL=flows.d.ts.map