import { AIContextItem, AIContextProvider, AIContextProviderType, AIContextSearchQuery } from '.'; export declare abstract class AbstractAIContextProvider implements AIContextProvider { #private; type: AIContextProviderType; protected onContextItemAdded?: (contextItem: T) => void; protected onBeforeContextItemRemoved?: (contextItem: T) => void; protected onBeforeAllContextItemsRemoved?: () => void; constructor(type?: AIContextProviderType); protected notifyContextItemAdded(contextItem: T): void; protected notifyContextItemToBeRemoved(contextItem: T): void; protected notifyAllContextItemsToBeRemoved(): void; addSelectedContextItem(contextItem: T): void; removeSelectedContextItem(id: string): void; clearSelectedContextItems(): void; replaceSelectedContextItem(oldItem: T, newItem: T): void; getSelectedContextItems(): T[]; abstract searchContextItems(query: AIContextSearchQuery): Promise; abstract retrieveSelectedContextItemsWithContent(): Promise; }