import { CancellationToken } from "../../../../../base/common/cancellation.js";
import { IToolData } from "../../common/tools/languageModelToolsService.js";
import { IToolRiskAssessment } from "@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService";
export declare const IChatToolRiskAssessmentService: import("../../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<IChatToolRiskAssessmentService>;
export interface IChatToolRiskAssessmentService {
    readonly _serviceBrand: undefined;
    /** Returns whether the feature is enabled by configuration. */
    isEnabled(): boolean;
    /** Synchronously read a previously cached assessment, or undefined if none. */
    getCached(tool: IToolData, parameters: unknown): IToolRiskAssessment | undefined;
    /**
    * Get a cached or freshly-computed risk assessment for a tool call.
    * Returns `undefined` when the feature is disabled, no model is available,
    * or the assessment cannot be parsed.
    */
    assess(tool: IToolData, parameters: unknown, token: CancellationToken): Promise<IToolRiskAssessment | undefined>;
}
