import { SearchResource } from '@opencloud-eu/web-client'; import { Component } from 'vue'; export interface GenericSearchResultItem { id: string; name: string; icon?: string; } export interface SearchResultValue { id: string; data: GenericSearchResultItem | SearchResource; } export interface SearchResult { totalResults: number | null; values: SearchResultValue[]; } export interface SearchList { component: Component; search(term: string): Promise; } export interface SearchPreview extends SearchList { available: boolean; } export interface SearchProvider { id: string; available: boolean; displayName?: string; previewSearch?: SearchPreview; listSearch?: SearchList; }