import type { SlashCommandActionId, SlashCommandSummaryAction, SlashCommandSummary } from "../types/component.types";
export type { SlashCommandActionId, SlashCommandSummaryAction, SlashCommandSummary, };
/**
 * Fetch slash-command suggestions for the CURRENT deployment platform,
 * matching id-prefix `prefix`. The chat source is server-resolved — the
 * client sends NO `source` param on the URL.
 *
 * `commandsUrl` is required — supplied by `useChatRuntime().endpoints.commandsUrl`
 * at the call site. NO default value.
 *
 * URL handling: `new URL(commandsUrl, window.location.origin)` works
 * for both relative (e.g. `/api/mingo-guide/commands` → resolved against
 * the embedder origin, proxy handles it) and absolute
 * (e.g. `https://hub.openframe.ai/api/commands` → the base arg is
 * ignored).
 *
 * Returns the parsed `commands` array; on any non-2xx (auth,
 * rate-limit, chat-disabled) returns an empty array — the autocomplete
 * UI silently shows no suggestions rather than surfacing 401/403/429
 * toasts.
 */
export declare function fetchSlashCommands(prefix: string, signal: AbortSignal | undefined, commandsUrl: string): Promise<SlashCommandSummary[]>;
/**
 * Debounced, cancellable React hook. Returns `{ commands, loading }`.
 *
 * `commandsUrl` is required — pass `useChatRuntime().endpoints.commandsUrl`.
 */
export declare function useSlashCommands(prefix: string | null, commandsUrl: string): {
    commands: SlashCommandSummary[];
    loading: boolean;
};
//# sourceMappingURL=use-slash-commands.d.ts.map