import type { AutocompleteItem } from "@oh-my-pi/pi-tui"; import { type BuiltinSlashCommand } from "../slash-commands/builtin-registry"; export type SlashCommandSource = "extension" | "prompt" | "skill"; export type SlashCommandLocation = "user" | "project" | "path"; export interface SlashCommandInfo { name: string; description?: string; source: SlashCommandSource; location?: SlashCommandLocation; path?: string; } export type { BuiltinSlashCommand, SubcommandDef } from "../slash-commands/builtin-registry"; /** * Materialized builtin slash commands with completion functions derived from * declarative subcommand/hint definitions. */ export declare const BUILTIN_SLASH_COMMANDS: ReadonlyArray AutocompleteItem[] | null; getInlineHint?: (argumentText: string) => string | null; }>; /** * Represents a custom slash command loaded from a file */ export interface FileSlashCommand { name: string; description: string; content: string; source: string; /** Source metadata for display */ _source?: { providerName: string; level: "user" | "project" | "native"; }; } export interface LoadSlashCommandsOptions { /** Working directory for project-local commands. Default: getProjectDir() */ cwd?: string; } /** * Load all custom slash commands using the capability API. * Loads from all registered providers (builtin, user, project). */ export declare function loadSlashCommands(options?: LoadSlashCommandsOptions): Promise; /** * Expand a slash command if it matches a file-based command. * Returns the expanded content or the original text if not a slash command. */ export declare function expandSlashCommand(text: string, fileCommands: FileSlashCommand[]): string;