import type { AssetTypeFilter, LaminaAsset } from '../types.js'; /** Where the asset originated. `lamina` → only assets generated via the * plugin (carry `source.name == "lamina"` metadata). `all` → every asset * in the dataset matching the type filter, regardless of origin. */ export type AssetSourceFilter = 'lamina' | 'all'; export interface UseSanityAssetsOptions { typeFilter: AssetTypeFilter; search: string; pageSize?: number; /** When set, only return assets generated from this Sanity document. */ documentId?: string; /** Default 'lamina' — preserves the original useLaminaAssets behavior. Set * to 'all' to fetch every asset of the matching type (e.g., for the * upload-form "Browse from library" picker). */ sourceFilter?: AssetSourceFilter; } export interface UseSanityAssetsResult { assets: LaminaAsset[]; loading: boolean; loadingMore: boolean; hasMore: boolean; error: string | null; loadMore: () => void; refresh: () => void; totalLabel: string; } export declare function useSanityAssets(options: UseSanityAssetsOptions): UseSanityAssetsResult;