/**
 * CancelAgentQuestionUseCase
 *
 * Marks a pending {@link AgentQuestion} as `cancelled`. Rejects the
 * matching {@link IDeferredQuestionRegistry} entry so any in-process
 * awaiter (e.g. an SDK V2 `canUseTool` callback) fails-fast with
 * {@link AgentQuestionCancelledError} instead of waiting for an answer
 * that will never come.
 *
 * Feature-flag short-circuit: with `featureFlags.collaboration` off, the
 * use case is a no-op (NFR-14 byte-identical default).
 */
import type { IAgentQuestionRepository } from '../../ports/output/repositories/agent-question-repository.interface.js';
import type { ISettingsRepository } from '../../ports/output/repositories/settings.repository.interface.js';
import type { CancelAgentQuestionInput, IDeferredQuestionRegistry } from '../../ports/output/agents/agent-question-service.interface.js';
import { type AgentQuestion } from '../../../domain/generated/output.js';
export interface CancelAgentQuestionResult {
    enabled: boolean;
    question?: AgentQuestion;
}
export declare class CancelAgentQuestionUseCase {
    private readonly questionRepository;
    private readonly deferredRegistry;
    private readonly settings;
    constructor(questionRepository: IAgentQuestionRepository, deferredRegistry: IDeferredQuestionRegistry, settings: ISettingsRepository);
    execute(input: CancelAgentQuestionInput): Promise<CancelAgentQuestionResult>;
    private isCollaborationEnabled;
}
//# sourceMappingURL=cancel-agent-question.use-case.d.ts.map