/// <reference types="react" />
import { StoreApi } from 'zustand';
import { FlowEditorStore } from './actions';
export declare const createFlowEditorStore: (showDevtools?: boolean) => import("zustand/traditional").UseBoundStoreWithEqualityFn<Omit<StoreApi<FlowEditorStore>, "setState"> & {
    setState<A extends string | {
        type: string;
    }>(partial: FlowEditorStore | Partial<FlowEditorStore> | ((state: FlowEditorStore) => FlowEditorStore | Partial<FlowEditorStore>), replace?: boolean | undefined, action?: A | undefined): void;
}>;
export declare const Provider: ({ createStore, children }: {
    createStore: () => StoreApi<FlowEditorStore>;
    children: import("react").ReactNode;
}) => import("react").FunctionComponentElement<import("react").ProviderProps<StoreApi<FlowEditorStore> | undefined>>, useStore: import("zustand-utils").UseContextStore<StoreApi<FlowEditorStore>>, useStoreApi: () => {
    setState: (partial: FlowEditorStore | Partial<FlowEditorStore> | ((state: FlowEditorStore) => FlowEditorStore | Partial<FlowEditorStore>), replace?: boolean | undefined) => void;
    getState: () => FlowEditorStore;
    getInitialState: () => FlowEditorStore;
    subscribe: (listener: (state: FlowEditorStore, prevState: FlowEditorStore) => void) => () => void;
    destroy: () => void;
};
export type { FlowEditorStore } from './actions';
export * from './selectors';
