import type { SpotlightResourceRef, SpotlightResourceSearchInput, SpotlightResourceSearchResult, SpotlightSkill } from "@inupedia/spotlight-protocol"; import { type ClientTool } from "./clientTool.js"; export interface SpotlightResourceAction { /** Public Tool name. Defaults to `${namespace}_${action}`. */ toolName?: string; description: string; handler: (resource: TResource) => unknown | Promise; tier?: "observe" | "query" | "navigate"; } export interface SpotlightResourceProviderOptions { namespace: string; description: string; search(input: SpotlightResourceSearchInput): Promise>; get?(id: string): Promise; actions?: Record>; /** Defaults to a generated resource Skill. Set false when a richer consumer Skill already exists. */ skill?: false | { name?: string; displayName?: string; description?: string; whenToUse?: string; capabilityExamples?: string[]; }; } export interface SpotlightResourceProvider { namespace: string; description: string; tools: ClientTool[]; skill?: SpotlightSkill; search(input: SpotlightResourceSearchInput): Promise>; resolve(query: string): Promise; } export declare function defineResourceProvider(options: SpotlightResourceProviderOptions): SpotlightResourceProvider; //# sourceMappingURL=resourceProvider.d.ts.map