import React, { FC, ReactNode } from 'react'; import { AISuggestions, AssetValidationFilter } from '../../../utils/types'; export declare const getTestIdFormatter: (testIdString: string) => string; export interface AssetData { uid: string; title: string; name?: string; description?: string; url?: string; is_dir: boolean; space_uid?: string; space_name?: string; created_at?: string; updated_at?: string; tags?: string[]; asset_type?: { title: string; [key: string]: any; }; [key: string]: any; } export interface ListViewProps { /** * Allows multiple assets to be selected */ isMultiple: boolean; /** * Maximum number of assets that can be selected (when isMultiple is true) */ maxInstance?: number; /** * Array of currently selected assets */ spaceAssetsPicked: AssetData[]; /** * Function to update selected assets */ setSpaceAssetsPicked: (assets: AssetData[] | ((prev: AssetData[]) => AssetData[])) => void; /** * Function to handle breadcrumb clicks for folder navigation */ breadcrumbClickHandler: (crumb: any) => void; /** * Currently selected folder (if any) */ selectedFolder: AssetData | null; /** * Options for search functionality */ spaceAssetsSearchOptions: { searchText: string; searchType: string; }; /** * Function to set the message component */ setMessageComponent: (component: ReactNode) => void; /** * Function to set API error state */ setIsAPIError: (isError: boolean) => void; /** * Flag indicating if there was an API error */ isAPIError: boolean; /** * Function to clear search filters */ setShouldClearSearchFilters?: (shouldClear: boolean) => void; /** * Function to handle navigating back */ handleGoBack?: () => void; /** * List of linked spaces to fetch assets from */ linkedSpaces?: string[]; /** * Function to update boolean state for disabling modal action panel */ setShouldDisabledActionPanel?: (shouldDisable: boolean) => void; /** * Function to fetch space assets */ fetchSpaceAssets: (params: any, headers: any, options: any) => Promise; /** * Number of assets returned from the API / Selected to show on bulk selection */ totalCounts?: number; /** * Function to set the total count of assets */ setTotalCounts?: (totalCount: number) => void; /** * Boolean to show the selected assets in the modal */ showSelectedAssets?: boolean; /** * Flag indicating if AI suggestions are being displayed */ ai_suggestions?: AISuggestions; /** * Linked workspaces */ linkedWorkspaces: { workspace: string; space_uid: string; }[]; localesWithFallback: { code: string; name: string; }[]; validationFilter?: AssetValidationFilter; spacesWithTitles?: Array<{ uid: string; title: string; }>; } interface TagItemProps { items: string[]; label: string; customClassname?: string; } interface TagItem2Props { items: Array<{ name: string; color?: string; }>; label: string; } export interface TagDisplayProps { hasNoAccess?: boolean; tags?: string[]; label: string; testId?: string; type?: 1 | 2; customClassname?: string; showTagCount?: boolean; tagHeaderLabel?: string; isRolesColumn?: boolean; } /** * Initialize the status map for the visible items * @param {number} start Start index * @param {number} stop Stop index * @param {'loading' | 'loaded'} status Status to set * @param {Function} setItemStatusMap State setter for item status map * @returns {Object} The initialized status map */ export declare const initializeStatusMap: (start: number, stop: number, status: 'loading' | 'loaded', setItemStatusMap: React.Dispatch>>) => Record; /** * Update the status of specific items * @param {number} startIdx Start index * @param {number} stopIdx Stop index * @param {'loading' | 'loaded'} status Status to set * @param {Function} setItemStatusMap State setter for item status map */ export declare const updateItemStatus: (startIdx: number, stopIdx: number, status: 'loading' | 'loaded', setItemStatusMap: React.Dispatch>>) => void; /** * Convert table sort format to API sort format * @param {Array} tableSortByParam Table sort parameters * @returns {Object} Converted sort parameters for API */ export declare const convertSortFormat: (tableSortByParam?: Array<{ id: string; desc: boolean; }>) => { id: string; sortingDirection: 'asc' | 'desc'; }; export declare const TagItem: FC; export declare const TagItem2: FC; export declare const TagDisplay: FC; export {};