declare const AGENT_GUI_MENTION_PROVIDER_IDS: {
    readonly agentGeneratedFile: "agent-generated-file";
    readonly agentSession: "agent-session";
    readonly file: "file";
    readonly workspaceApp: "workspace-app";
    readonly workspaceIssue: "workspace-issue";
};
type AgentGUIMentionProviderId = (typeof AGENT_GUI_MENTION_PROVIDER_IDS)[keyof typeof AGENT_GUI_MENTION_PROVIDER_IDS];
interface AgentRichTextAtProviderContext {
    metadata?: Readonly<Record<string, unknown>>;
}
interface AgentRichTextAtQueryInput {
    keyword: string;
    maxResults?: number;
    abortSignal?: AbortSignal;
    context: AgentRichTextAtProviderContext;
}
interface AgentRichTextMentionInsert {
    entityId: string;
    label: string;
    href?: string | null;
    kind?: string | null;
    meta?: Readonly<Record<string, string>> | null;
}
interface AgentRichTextMentionInsertResult {
    kind: "mention";
    mention: AgentRichTextMentionInsert;
}
interface AgentRichTextMarkdownLinkInsertResult {
    kind: "markdown-link";
    label: string;
    href: string;
}
interface AgentRichTextTextInsertResult {
    kind: "text";
    text: string;
}
type AgentRichTextAtInsertResult = AgentRichTextMentionInsertResult | AgentRichTextMarkdownLinkInsertResult | AgentRichTextTextInsertResult;
interface AgentRichTextAtProvider<TItem = any> {
    id: string;
    query: (input: AgentRichTextAtQueryInput) => Promise<readonly TItem[]> | readonly TItem[];
    getItemKey: (item: TItem) => string;
    getItemLabel: (item: TItem) => string;
    getItemSubtitle?: (item: TItem) => string | null | undefined;
    getItemThumbnailUrl?: (item: TItem) => string | null | undefined | Promise<string | null | undefined>;
    toInsertResult: (item: TItem) => AgentRichTextAtInsertResult;
}

export { AGENT_GUI_MENTION_PROVIDER_IDS, type AgentGUIMentionProviderId, type AgentRichTextAtInsertResult, type AgentRichTextAtProvider, type AgentRichTextAtProviderContext, type AgentRichTextAtQueryInput, type AgentRichTextMarkdownLinkInsertResult, type AgentRichTextMentionInsert, type AgentRichTextMentionInsertResult, type AgentRichTextTextInsertResult };
