import type { ParsedSlashInput, SlashCommandContext, SlashCommandResult, SlashSurface } from './slash-command-types.js';
import type { CompactionService } from '../compaction/compaction-service.js';
import type { SessionService } from '../session/session-service.js';
import type { DeepAgentSessionScope } from '../session/session-types.js';
export interface SlashHandler {
    getActiveSessionId(scope: DeepAgentSessionScope): string | undefined;
    resumeSession(scope: DeepAgentSessionScope, sessionId: string): void;
    resetLocalState(): void;
    approvePendingPermissions?(): Promise<number> | number;
    openExternalUrl?(url: string): Promise<void>;
    getDisplayOptions?(): {
        showThinking: boolean;
        showExecution: boolean;
    };
    setDisplayOptions?(opts: {
        showThinking?: boolean;
        showExecution?: boolean;
    }): void;
}
export declare class SlashCommandService {
    private readonly sessions;
    private readonly compactionService;
    constructor(sessions: SessionService, compactionService: CompactionService);
    parse(raw: string): ParsedSlashInput | undefined;
    execute(input: ParsedSlashInput, ctx: SlashCommandContext, handler: SlashHandler): Promise<SlashCommandResult>;
    buildHelpResult(surface: SlashSurface): SlashCommandResult;
    private executeApprove;
    private buildSessionsResult;
    private executeResume;
    private executeDelete;
    private executeNew;
    private buildCheckpointsResult;
    private executeSaveCheckpoint;
    private executeRestore;
    private executeDeleteCheckpoint;
}
//# sourceMappingURL=slash-command-service.d.ts.map