import { ViewerNames } from '../../../../types/dbTypes'; import { getNarrowedFilterOptions } from './filterHelper'; import type { Building, Infrastructure, Site, User } from '../../../../types/dbTypes'; import type { FileRow } from '../../../../types/files'; import type { FilterState } from '../../../../types/global'; interface UseViewerDataParams { currentViewer: ViewerNames; buildings: Building[] | undefined; sites: Site[] | undefined; infrastructures: Infrastructure[] | undefined; files: { id: number | string; name: string; attachedFilesBuildingId?: number | null; uploadedAt: string | Date; extension?: string | null; sizeBytes: number; position?: unknown; }[] | undefined; users: Partial[] | undefined; /** Loading flags from each data hook */ loadingFlags: { buildings: boolean; sites: boolean; infrastructures: boolean; files: boolean; users: boolean; }; searchTerm: string; activeFilters: FilterState[]; /** Raw filter state (used by getNarrowedFilterOptions) */ filters: FilterState[]; /** Current user email */ userEmail: string; } interface UseViewerDataResult { data: Building[] | Site[] | Infrastructure[] | FileRow[] | Partial[]; filteredData: Building[] | Site[] | Infrastructure[] | FileRow[] | Partial[]; filtersOptions: ReturnType; isLoading: boolean; } export declare function useViewerData({ currentViewer, buildings, sites, infrastructures, files, users, loadingFlags, searchTerm, activeFilters, filters, userEmail, }: UseViewerDataParams): UseViewerDataResult; export {}; //# sourceMappingURL=useViewerData.d.ts.map