analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
47 lines • 1.92 kB
TypeScript
import type { RecommendedClassModelTableItem, RecommendedClassModelFilters, RecommendedClassModelPagination } from '../../types/recommendedLessons';
import type { BaseApiClient } from '../../types/api';
/**
* Hook state interface for recommendedClass drafts
*/
export interface UseRecommendedClassDraftsState {
models: RecommendedClassModelTableItem[];
loading: boolean;
error: string | null;
pagination: RecommendedClassModelPagination;
}
/**
* Hook return type for recommendedClass drafts
*/
export interface UseRecommendedClassDraftsReturn extends UseRecommendedClassDraftsState {
fetchModels: (filters?: RecommendedClassModelFilters, subjectsMap?: Map<string, string>) => Promise<void>;
deleteModel: (id: string) => Promise<boolean>;
}
/**
* Default pagination values for drafts
*/
export declare const DEFAULT_RECOMMENDED_CLASS_DRAFTS_PAGINATION: RecommendedClassModelPagination;
/**
* Handle errors during draft fetch
* Uses the generic error handler factory to reduce code duplication
*/
export declare const handleRecommendedClassDraftFetchError: (error: unknown) => string;
/**
* Factory function to create useRecommendedClassDrafts hook
*
* @param apiClient - API client adapter with get and delete methods
* @returns Hook for managing recommendedClass drafts
*
* @example
* ```tsx
* const useRecommendedClassDrafts = createUseRecommendedClassDrafts(apiClientAdapter);
*
* // In your component
* const { models, loading, error, pagination, fetchModels, deleteModel } = useRecommendedClassDrafts();
* ```
*/
export declare const createUseRecommendedClassDrafts: (apiClient: BaseApiClient) => () => UseRecommendedClassDraftsReturn;
/**
* Alias for createUseRecommendedClassDrafts
*/
export declare const createRecommendedClassDraftsHook: (apiClient: BaseApiClient) => () => UseRecommendedClassDraftsReturn;
//# sourceMappingURL=useRecommendedClassDrafts.d.ts.map