export type LspInspectDiagnosticsBoundary = "input" | "contract" | "governance" | "scope";
export type LspInspectDiagnosticsGate = {
    accepted: boolean;
    reason?: string;
};
export type LspDiagnosticSeverity = "error" | "warning" | "information" | "hint";
export type LspDiagnosticPosition = {
    line: number;
    character: number;
};
export type LspDiagnosticRange = {
    start: LspDiagnosticPosition;
    end: LspDiagnosticPosition;
};
export type LspDiagnostic = {
    code?: string;
    source?: string;
    message: string;
    severity: LspDiagnosticSeverity;
    range: LspDiagnosticRange;
};
export type LspInspectDiagnosticsRequest = {
    runtimeId?: string;
    sessionId?: string;
    invocationId?: string;
    documentUri?: string;
    diagnostics?: readonly LspDiagnostic[];
    severities?: readonly LspDiagnosticSeverity[];
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    dryRun?: boolean;
    contract?: LspInspectDiagnosticsGate;
    governance?: LspInspectDiagnosticsGate;
};
export type LspInspectDiagnosticsErrorCode = "MISSING_RUNTIME_ID" | "MISSING_SESSION_ID" | "MISSING_DOCUMENT_URI" | "INVALID_DIAGNOSTICS" | "INVALID_SEVERITY_FILTER" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED" | "REAL_LSP_CALL_NOT_ALLOWED";
export type LspInspectDiagnosticsError = {
    code: LspInspectDiagnosticsErrorCode;
    message: string;
    boundary: LspInspectDiagnosticsBoundary;
    safeForRuntimeInspection: true;
    internalDetailExposed: false;
};
export type LspInspectDiagnosticsSummary = {
    total: number;
    bySeverity: Record<LspDiagnosticSeverity, number>;
    highestSeverity?: LspDiagnosticSeverity;
};
export type LspInspectDiagnosticsSnapshot = {
    tool: "code.lsp_inspectDiagnostics";
    runtimeId: string;
    sessionId: string;
    invocationId: string;
    documentUri: string;
    diagnostics: readonly LspDiagnostic[];
    summary: LspInspectDiagnosticsSummary;
    acceptedScopes: readonly string[];
    execution: {
        dryRun: true;
        lspServerInvoked: false;
        fileMutationPlanned: false;
        unsafeSideEffects: false;
    };
    audit: {
        capability: "inspect-diagnostics";
        governanceRequired: true;
        tapDelegation: "basic-tool-primitive";
    };
};
export type LspInspectDiagnosticsResult = {
    ok: true;
    snapshot: LspInspectDiagnosticsSnapshot;
    events: readonly string[];
} | {
    ok: false;
    error: LspInspectDiagnosticsError;
    events: readonly string[];
};
export declare const lspInspectDiagnosticsDescriptor: {
    readonly tool: "code.lsp_inspectDiagnostics";
    readonly capability: "inspect-diagnostics";
    readonly layer: "agent_executionEngine.basic_toolLayer.baseTools.codeBase.lsp";
    readonly unsafeSideEffects: false;
    readonly firstRoundExecution: "snapshot-envelope";
};
export declare function inspectLspDiagnostics(request?: LspInspectDiagnosticsRequest): LspInspectDiagnosticsResult;
