import { type AgentBackend } from '../backend.js';
import type { AutocompleteSource } from './model.js';
/** What each item carries on `data`, so a renderer can show where a skill came from. */
export interface SkillSuggestionData {
    /** The scope token it resolved from — the provenance a user is entitled to see. */
    scope: string;
    /** Scope tokens of same-named skills this one outranks, widest last. */
    shadows?: string[];
}
export interface SkillsSourceOptions {
    /** Any backend with `listSkills` — `useAgentBackend()`, or `useAgentChat().backend`. */
    backend: Pick<AgentBackend, 'listSkills'>;
    /**
     * Read at query time, not captured once: a threadless chat learns its id only when the backend
     * creates one on the first send, and a skill may be scoped to a conversation.
     */
    getThreadId?: () => string | undefined;
    /** Default `/`. */
    trigger?: string;
    /** Default `Skills`. */
    label?: string;
}
/**
 * `GET /agent/skills` as an autocomplete source — the concrete one behind `/`, and an example of
 * the shape any other takes. `position: 'start'` because a skill is a command: `/deploy` is one and
 * `src/foo` is a path.
 */
export declare function createSkillsSource(options: SkillsSourceOptions): AutocompleteSource;
//# sourceMappingURL=skills-source.d.ts.map