import type { ConversationEngineConfig } from '../../../../core/chat/engine/types.js';
import type { SlashCommandResult } from '../../../../core/commands/slash/result-types.js';
import type { ChatSessionLeaseOwner } from '../../../../core/chat/engine/sessions/leases/index.js';
type SlashCommandControllerArgs = Omit<ConversationEngineConfig, 'model'> & {
    model?: string;
    sessionStoragePath: string;
    workspaceId: string;
    sessionId: string;
    leaseOwner: ChatSessionLeaseOwner;
    compactActive: () => Promise<string> | string;
};
/**
 * Exposes core slash-command semantics through the frontend-agnostic control plane.
 */
export declare class ControlPlaneSlashCommandsController {
    catalog(): {
        commands: {
            aliases?: string[] | undefined;
            id: string;
            syntax: string;
            description: string;
        }[];
        hints: import("../../../../core/commands/slash/types.js").SlashCommandHint[];
    };
    execute(args: SlashCommandControllerArgs, command: string): Promise<SlashCommandResult>;
}
export declare const controlPlaneSlashCommandsController: ControlPlaneSlashCommandsController;
export {};
//# sourceMappingURL=slash-commands-controller.d.ts.map