/** * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * @module ai/aichat/ui/controls/resources/aichatresourcelistitemview */ import { type Locale } from '@ckeditor/ckeditor5-utils'; import { ListItemView } from '@ckeditor/ckeditor5-ui'; import { type AIContextResourceState } from '../../../../aichat/model/aichatcontext.js'; /** * A view representing a single resource item in the AI chat context resource list. * Displays resource information with appropriate icons and handles selection state. */ export declare class AIChatResourceListItemView extends ListItemView { /** * The context resource state this view represents. * Contains the resource data including ID, label, type, and context status. */ resource: AIContextResourceState; /** * Whether the resource is currently in the context. * This property is observable and automatically updates the view's appearance. * * @observable */ isInContext: boolean; /** * Creates a new AI context resource list item view. * * @param locale The locale instance for internationalization * @param resource The context resource state to represent */ constructor(locale: Locale, resource: AIContextResourceState); /** * Renders the view and its child components. */ render(): void; /** * Gets the appropriate icon for a resource based on its type and context state. * Returns a checkmark icon if the resource is in context, otherwise returns * a type-specific icon (document, link, file, or default outline). * * @param resource The context resource state * @returns The appropriate icon string for the resource */ getResourceIcon(resource: AIContextResourceState): string; /** * Highlights text in the resource title based on the provided search query. * This method should only be called when highlighting is enabled for the source. * * @param query The search query string to highlight, or empty string to clear highlighting */ highlightText(query: string): void; /** * Updates the resource state and refreshes the icon accordingly. * * @param isInContext Whether the resource is currently in the context */ updateResourceState(isInContext: boolean): void; }