import type { RuntimeEventBus } from '../events/index.js';
import type { McpServerRole, McpTrustMode, QuarantineReason } from '@pellux/goodvibes-sdk/platform/runtime/mcp/types';
import type { EmitterContext } from './index.js';
/** Emit MCP_CONFIGURED when an MCP server config is parsed. */
export declare function emitMcpConfigured(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    serverId: string;
    transport: string;
    url?: string;
    role?: McpServerRole;
    trustMode?: McpTrustMode;
    allowedPaths?: string[];
    allowedHosts?: string[];
}): void;
/** Emit MCP_CONNECTING when a connection attempt begins. */
export declare function emitMcpConnecting(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    serverId: string;
}): void;
/** Emit MCP_CONNECTED when a connection is established. */
export declare function emitMcpConnected(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    serverId: string;
    toolCount: number;
    resourceCount: number;
}): void;
/** Emit MCP_DEGRADED when partial tools are unavailable. */
export declare function emitMcpDegraded(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    serverId: string;
    reason: string;
    availableTools: string[];
}): void;
/** Emit MCP_AUTH_REQUIRED when auth is needed. */
export declare function emitMcpAuthRequired(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    serverId: string;
    authType: string;
}): void;
/** Emit MCP_RECONNECTING when retrying a dropped connection. */
export declare function emitMcpReconnecting(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    serverId: string;
    attempt: number;
    maxAttempts: number;
}): void;
/** Emit MCP_DISCONNECTED when a connection is closed. */
export declare function emitMcpDisconnected(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    serverId: string;
    reason?: string;
    willRetry: boolean;
}): void;
/** Emit MCP_POLICY_UPDATED when server trust posture changes. */
export declare function emitMcpPolicyUpdated(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    serverId: string;
    role: McpServerRole;
    trustMode: McpTrustMode;
    allowedPaths: string[];
    allowedHosts: string[];
}): void;
export declare function emitMcpSchemaQuarantined(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    serverId: string;
    reason: QuarantineReason;
    detail?: string;
}): void;
export declare function emitMcpSchemaQuarantineApproved(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    serverId: string;
    operatorId: string;
}): void;
//# sourceMappingURL=mcp.d.ts.map