import { Asset } from '../../types/asset'; import { Folder } from '../../types/folder'; /** * Pagination information for the browser */ export interface PaginationInfo { /** Current page number (1-indexed) */ currentPage: number; /** Total number of pages */ totalPages: number; /** Total number of items */ totalItems: number; /** Number of items per page */ itemsPerPage: number; } /** * Responsive column configuration */ export interface ResponsiveColumns { /** Extra small screens (< 576px) */ xs?: number; /** Small screens (≥ 576px) */ sm?: number; /** Medium screens (≥ 768px) */ md?: number; /** Large screens (≥ 992px) */ lg?: number; /** Extra large screens (≥ 1200px) */ xl?: number; } /** * AssetBrowser component props */ export interface AssetBrowserProps { /** Folders to display */ folders: Folder[]; /** Assets to display */ assets: Asset[]; /** Current layout mode */ layout?: 'grid' | 'list'; /** Number of columns for grid layout */ columns?: number | ResponsiveColumns; /** Whether currently loading */ loading?: boolean; /** Empty state message */ emptyMessage?: string; /** Currently selected item IDs */ selectedIds?: string[]; /** Selection mode */ selectionMode?: 'none' | 'single' | 'multiple'; /** Handle folder click (navigation) */ onFolderClick?: (folder: Folder) => void; /** Handle asset click */ onAssetClick?: (asset: Asset) => void; /** Handle selection change */ onSelectionChange?: (ids: string[]) => void; /** Handle asset download */ onDownload?: (asset: Asset) => void; /** Handle insert link action */ onInsertLink?: (asset: Asset) => void; /** Handle drag ready action */ onDragReady?: (asset: Asset) => void; /** Pagination configuration */ pagination?: PaginationInfo; /** Handle page change */ onPageChange?: (page: number) => void; /** Additional CSS classes */ className?: string; /** Test ID for testing (deprecated, use dataTestId) */ 'data-testid'?: string; /** Test identifier for automated testing */ dataTestId?: string; /** Data identifier for ib-ui compatibility */ dataId?: string; } //# sourceMappingURL=AssetBrowser.types.d.ts.map