import { type HeaderAction, type RowAction, type TableRow } from "@appcorp/shadcn/components/enhanced-table"; import { BulkJobRecord } from "../../type"; export declare const BULK_OPERATIONS_DRAWER: { readonly FILTER_DRAWER: string; readonly VIEW_DRAWER: string; }; export declare const BULK_OPERATIONS_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"; }, bulkOperationsModuleConfig: import("@react-pakistan/util-functions/factory/generic-module-factory").ModuleConfig<{ items: BulkJobRecord[]; count: number; types: string[]; currentPage: number; pageLimit: number; searchQuery: string; filterStatus: string; filterType: string; createdAt: string; errors: Record; jobId: string; processed: number; results: BulkJobRecord["results"]; status: string; total: number; ttlSeconds: number | null; type: string; updatedAt: string; webhookUrl: string | null; disableSaveButton: boolean; drawer: string | null; }>, initialBulkOperationsState: { items: BulkJobRecord[]; count: number; types: string[]; currentPage: number; pageLimit: number; searchQuery: string; filterStatus: string; filterType: string; createdAt: string; errors: Record; jobId: string; processed: number; results: BulkJobRecord["results"]; status: string; total: number; ttlSeconds: number | null; type: string; updatedAt: string; webhookUrl: string | null; disableSaveButton: boolean; drawer: string | null; }, BulkOperationsProvider: import("react").FC<{ children: React.ReactNode; }>, bulkOperationsReducer: (state: { items: BulkJobRecord[]; count: number; types: string[]; currentPage: number; pageLimit: number; searchQuery: string; filterStatus: string; filterType: string; createdAt: string; errors: Record; jobId: string; processed: number; results: BulkJobRecord["results"]; status: string; total: number; ttlSeconds: number | null; type: string; updatedAt: string; webhookUrl: string | null; disableSaveButton: boolean; drawer: string | null; }, action: any) => { items: BulkJobRecord[]; count: number; types: string[]; currentPage: number; pageLimit: number; searchQuery: string; filterStatus: string; filterType: string; createdAt: string; errors: Record; jobId: string; processed: number; results: BulkJobRecord["results"]; status: string; total: number; ttlSeconds: number | null; type: string; updatedAt: string; webhookUrl: string | null; disableSaveButton: boolean; drawer: string | null; }, useBulkOperationsContext: () => import("@react-pakistan/util-functions/factory/generic-module-factory").GenericModuleContextWithHandlers<{ items: BulkJobRecord[]; count: number; types: string[]; currentPage: number; pageLimit: number; searchQuery: string; filterStatus: string; filterType: string; createdAt: string; errors: Record; jobId: string; processed: number; results: BulkJobRecord["results"]; status: string; total: number; ttlSeconds: number | null; type: string; updatedAt: string; webhookUrl: string | null; disableSaveButton: boolean; drawer: string | null; }>; export declare const BULK_OPERATIONS_STATUS_OPTIONS: { label: string; value: string; }[]; export declare const useBulkOperationsModule: () => { applyFilters: () => void; clearFilters: () => void; clearSearch: () => void; closeDrawer: () => void; handleChange: (field: string, value: string | number | boolean | undefined) => void; handleFilters: () => void; handlePageChange: (pageOrEvent?: unknown) => void; handlePageLimitChange: (k: string, value: object) => void; handleRefresh: () => void; handleSearch: (query: string) => void; handleView: (row?: TableRow) => void; headerActions: HeaderAction[]; listFetchNow: (url?: string, config?: import("@react-pakistan/util-functions/hooks/use-fetch").FetchConfig) => void; listLoading: boolean; rowActions: RowAction[]; handleCloseDrawer?: () => void; handleSubmit?: (data: any) => void; state: { items: BulkJobRecord[]; count: number; types: string[]; currentPage: number; pageLimit: number; searchQuery: string; filterStatus: string; filterType: string; createdAt: string; errors: Record; jobId: string; processed: number; results: BulkJobRecord["results"]; status: string; total: number; ttlSeconds: number | null; type: string; updatedAt: string; webhookUrl: string | null; disableSaveButton: boolean; drawer: string | null; }; dispatch: React.Dispatch; };