import { TeacherBE } from "../../type"; import { type RowAction, type TableRow } from "@appcorp/shadcn/components/enhanced-table"; export declare const TEACHER_DRAWER: { readonly FILTER_DRAWER: string; readonly FORM_DRAWER: string; readonly MORE_ACTIONS_DRAWER: string; readonly VIEW_DRAWER: string; }; export declare const TEACHER_ACTION_TYPES: { readonly RESET_FORM: "RESET_FORM"; readonly SET_CURRENT_PAGE: "SET_CURRENT_PAGE"; readonly SET_PAGE_LIMIT: "SET_PAGE_LIMIT"; readonly SET_SEARCH_QUERY: "SET_SEARCH_QUERY"; readonly SET_DRAWER: "SET_DRAWER"; readonly SET_ITEMS: "SET_ITEMS"; readonly SET_FORM_DATA: "SET_FORM_DATA"; readonly SET_DISABLE_SAVE_BUTTON: "SET_DISABLE_SAVE_BUTTON"; readonly SET_INPUT_FIELD: "SET_INPUT_FIELD"; readonly SET_ERRORS: "SET_ERRORS"; readonly SET_FILTERS: "SET_FILTERS"; }, teacherModuleConfig: import("@react-pakistan/util-functions/factory/generic-module-factory").ModuleConfig<{ items: TeacherBE[]; count: number; currentPage: number; pageLimit: number; searchQuery: string; disableSaveButton: boolean; drawer: string | null; errors: Record; avatarUploading: boolean; address: string | null; avatar: string | null; bio: string | null; city: string | null; country: string | null; dateOfBirth: string | null; emergencyPhone: string; enabled: boolean; experience: number | null; firstName: string; gender: string; id: string; joiningDate: string; lastName: string; phone: string; postalCode: string | null; qualification: string | null; schoolId: string; specialization: string | null; state: string | null; teacherCode: string; userId: string | null; filterEnabled: boolean | undefined; }>, initialTeacherState: { items: TeacherBE[]; count: number; currentPage: number; pageLimit: number; searchQuery: string; disableSaveButton: boolean; drawer: string | null; errors: Record; avatarUploading: boolean; address: string | null; avatar: string | null; bio: string | null; city: string | null; country: string | null; dateOfBirth: string | null; emergencyPhone: string; enabled: boolean; experience: number | null; firstName: string; gender: string; id: string; joiningDate: string; lastName: string; phone: string; postalCode: string | null; qualification: string | null; schoolId: string; specialization: string | null; state: string | null; teacherCode: string; userId: string | null; filterEnabled: boolean | undefined; }, TeacherProvider: import("react").FC<{ children: React.ReactNode; }>, teacherReducer: (state: { items: TeacherBE[]; count: number; currentPage: number; pageLimit: number; searchQuery: string; disableSaveButton: boolean; drawer: string | null; errors: Record; avatarUploading: boolean; address: string | null; avatar: string | null; bio: string | null; city: string | null; country: string | null; dateOfBirth: string | null; emergencyPhone: string; enabled: boolean; experience: number | null; firstName: string; gender: string; id: string; joiningDate: string; lastName: string; phone: string; postalCode: string | null; qualification: string | null; schoolId: string; specialization: string | null; state: string | null; teacherCode: string; userId: string | null; filterEnabled: boolean | undefined; }, action: any) => { items: TeacherBE[]; count: number; currentPage: number; pageLimit: number; searchQuery: string; disableSaveButton: boolean; drawer: string | null; errors: Record; avatarUploading: boolean; address: string | null; avatar: string | null; bio: string | null; city: string | null; country: string | null; dateOfBirth: string | null; emergencyPhone: string; enabled: boolean; experience: number | null; firstName: string; gender: string; id: string; joiningDate: string; lastName: string; phone: string; postalCode: string | null; qualification: string | null; schoolId: string; specialization: string | null; state: string | null; teacherCode: string; userId: string | null; filterEnabled: boolean | undefined; }, useTeacherContext: () => import("@react-pakistan/util-functions/factory/generic-module-factory").GenericModuleContextWithHandlers<{ items: TeacherBE[]; count: number; currentPage: number; pageLimit: number; searchQuery: string; disableSaveButton: boolean; drawer: string | null; errors: Record; avatarUploading: boolean; address: string | null; avatar: string | null; bio: string | null; city: string | null; country: string | null; dateOfBirth: string | null; emergencyPhone: string; enabled: boolean; experience: number | null; firstName: string; gender: string; id: string; joiningDate: string; lastName: string; phone: string; postalCode: string | null; qualification: string | null; schoolId: string; specialization: string | null; state: string | null; teacherCode: string; userId: string | null; filterEnabled: boolean | undefined; }>; export declare const useTeacherModule: () => { applyFilters: () => void; byIdLoading: boolean; clearFilters: () => void; clearSearch: () => void; closeDrawer: () => void; deleteLoading: boolean; handleAvatar: (files: File[]) => void; handleAvatarUpload: (file: File) => Promise; handleChange: (field: string, value: string | number | boolean | Date | null | undefined) => void; handleCreate: () => void; handleDelete: (row?: TableRow) => void; handleEdit: (row?: TableRow) => void; handleFilters: () => void; handleMoreActions: () => void; handlePageChange: (page: number | unknown) => void; handlePageLimitChange: (k: string, value: object) => void; handleSearch: (query: string) => void; handleSubmit: () => void; handleView: (row?: TableRow) => void; headerActions: { enabled: boolean; handleOnClick: () => void; label: string; order: number; }[]; listFetchNow: (url?: string, config?: import("@react-pakistan/util-functions/hooks/use-fetch").FetchConfig) => void; listLoading: boolean; resetRecordFormState: () => void; rowActions: RowAction[]; toggleStatus: (row?: TableRow) => void; updateLoading: boolean; handleCloseDrawer?: () => void; state: { items: TeacherBE[]; count: number; currentPage: number; pageLimit: number; searchQuery: string; disableSaveButton: boolean; drawer: string | null; errors: Record; avatarUploading: boolean; address: string | null; avatar: string | null; bio: string | null; city: string | null; country: string | null; dateOfBirth: string | null; emergencyPhone: string; enabled: boolean; experience: number | null; firstName: string; gender: string; id: string; joiningDate: string; lastName: string; phone: string; postalCode: string | null; qualification: string | null; schoolId: string; specialization: string | null; state: string | null; teacherCode: string; userId: string | null; filterEnabled: boolean | undefined; }; dispatch: React.Dispatch; };