import type { SlashCommandRegistry } from '@wrongstack/core/registry'; import type { SlashCommand } from '@wrongstack/core/types'; export interface SlashCommandRegistrationOptions { owner?: string | undefined; official?: boolean | undefined; } /** * Register a slash command and return an ownership-safe teardown callback. * * The shared registry uses last-write-wins for official commands and removes * every alias/namespace for the selected command on unregister. React effects * therefore cannot safely pair `register()` with a bare `unregister(name)`: * registration may have been a no-op, or it may have replaced a canonical * host command that must become visible again after the TUI unmounts. */ export declare function registerSlashCommandLifecycle(registry: SlashCommandRegistry, command: SlashCommand, options?: SlashCommandRegistrationOptions): () => void; //# sourceMappingURL=slash-command-lifecycle.d.ts.map