import type { ArtifactCatalogFilters } from "./artifact-catalog.js"; import type { ArtifactReturnSearch } from "./routes.js"; /** The same query travels with the library and every type-specific viewer. */ export declare function artifactLibraryFilters(search: Pick): ArtifactCatalogFilters; export declare function artifactLibrarySearch(filters: ArtifactCatalogFilters, fromSession?: string, browse?: boolean): ArtifactReturnSearch; type LibraryPosition = { top: number; pages: number; }; export declare function artifactLibraryPositionKey(workspaceId: string, accessKeyVersion: number, filters: ArtifactCatalogFilters): string; export declare function readArtifactLibraryPosition(client: object, key: string): LibraryPosition; export declare function rememberArtifactLibraryPosition(client: object, key: string, value: LibraryPosition): void; /** Restore only after retained pages are ready, so a partial list cannot clamp scrollTop. */ export declare function useArtifactLibraryPosition(client: object, key: string, loading: boolean, itemCount: number, pages: number): { ref: import("react").RefObject; onScroll: () => void; }; export {};