import type { ArtifactCatalogItem } from "@opengeni/sdk"; import type { OpenGeniBrowserClient } from "@opengeni/sdk/browser"; import { type ArtifactCatalogFilters } from "./artifact-catalog.js"; type CatalogClient = Pick; /** Drop every cached view of a workspace, e.g. after a Site mutation. */ export declare function invalidateArtifactCatalog(client: object, workspaceId: string): void; /** * Metadata-only query lifecycle, independent of app context and content runtimes. * Views are cached per client, workspace and filters, so tab switches and revisits * render immediately; a view older than FRESH_FOR_MS refetches on revisit or focus. */ export declare function useArtifactCatalog(client: CatalogClient, workspaceId: string, filters: ArtifactCatalogFilters, accessKeyVersion: number, retainedPages?: number): { items: ArtifactCatalogItem[]; loading: boolean; error: Error | null; nextCursor: string | null; pages: number; retry: () => undefined; /** Saved mutations refresh the latest mounted view, not a pre-save closure. */ refresh: () => Promise; loadMore: () => undefined; }; export {};