import { Course } from '../types/course';

export type CoursesStoreState = {
    courses: Course[];
};
export type CoursesStoreActions = {
    onCreateCourse: (course: Course) => void;
    onUpdateCourse: (course: Partial<Course>) => void;
    onDeleteCourse: (courseId: string) => void;
    setInitialCourses: (courses: Course[]) => void;
};
export type CoursesStore = CoursesStoreState & CoursesStoreActions;
export declare const DEFAULT_SESSION_STORE_STATE: CoursesStoreState;
export declare const useCoursesStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<CoursesStore>, "persist"> & {
    persist: {
        setOptions: (options: Partial<import('zustand/middleware').PersistOptions<CoursesStore, unknown>>) => void;
        clearStorage: () => void;
        rehydrate: () => Promise<void> | void;
        hasHydrated: () => boolean;
        onHydrate: (fn: (state: CoursesStore) => void) => () => void;
        onFinishHydration: (fn: (state: CoursesStore) => void) => () => void;
        getOptions: () => Partial<import('zustand/middleware').PersistOptions<CoursesStore, unknown>>;
    };
}>;
