import { ConditionBranch, Journey, Milestone } from '@parlor/common';
import { IItem } from '../components/journey-items/item-components/utils';
import { TabType } from '../components/journey-object/utils';
export type DeleteItem = {
    [x: string]: any;
    __typename: string;
    id: string;
} | IItem;
type State = {
    activeTab?: TabType;
    conditionBranches?: Partial<ConditionBranch>[];
    deletedIDs?: string[];
    deletedItems?: DeleteItem[];
    hasMadeEdits?: boolean;
    isCreating?: boolean;
    journey?: Journey;
    milestones?: Partial<Milestone>[];
    segmentID?: string;
};
type Actions = {
    removeConditionBranch: (value: Partial<ConditionBranch>) => void;
    removeMilestone: (value: Partial<Milestone>) => void;
    reset: () => void;
    setActiveTab: (value: TabType) => void;
    setConditionBranches: (values: Partial<ConditionBranch>[]) => void;
    setDeletedIDs: (value: string) => void;
    setDeletedItems: (value: DeleteItem) => void;
    setHasMadeEdits: (value: boolean) => void;
    setIsCreating: (value: boolean) => void;
    setJourney: (value: Journey) => void;
    setMilestones: (values: Partial<Milestone>[]) => void;
    setSegmentID: (value: string | null) => void;
};
export declare const useJourneyState: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<State & Actions>, "setState"> & {
    setState(nextStateOrUpdater: (State & Actions) | Partial<State & Actions> | ((state: import("immer/dist/internal").WritableDraft<State & Actions>) => void), shouldReplace?: boolean): void;
}>;
export {};
