import type { LessonFiltersData } from '../types/lessonFilters';
import type { Lesson, LessonsPagination } from '../types/lessons';
export interface LessonFiltersState {
    draftFilters: LessonFiltersData | null;
    appliedFilters: LessonFiltersData | null;
    setDraftFilters: (filters: LessonFiltersData | null) => void;
    applyFilters: () => void;
    clearFilters: () => void;
    cachedLessons: Lesson[];
    cachedPagination: LessonsPagination | null;
    cachedFilters: LessonFiltersData | null;
    setCachedLessons: (lessons: Lesson[], pagination: LessonsPagination | null, filters: LessonFiltersData | null) => void;
    clearCachedLessons: () => void;
}
/**
 * Zustand store to manage lesson filters with draft vs applied separation
 * and cache for lessons list to avoid unnecessary refetches
 */
export declare const useLessonFiltersStore: import("zustand").UseBoundStore<import("zustand").StoreApi<LessonFiltersState>>;
//# sourceMappingURL=lessonFiltersStore.d.ts.map