import { ToolRegistry } from './registry.js';
import type { Tool } from '../types/tools.js';
import { FileStateCache } from '../state/file-cache.js';
import { ProjectIndex } from '../state/project-index.js';
import { ModeManager } from '../state/mode-manager.js';
import { FileUndoManager } from '../state/file-undo.js';
import type { ConfigManager } from '../config/manager.js';
import type { ProviderRegistry } from '../providers/registry.js';
import type { ToolLLM } from '../config/tool-llm.js';
import { createWorkflowServices } from './workflow/index.js';
import { ProcessManager } from './shared/process-manager.js';
import type { AgentManager } from './agent/index.js';
import { AgentMessageBus } from '../agents/message-bus.js';
import type { WrfcController } from '../agents/wrfc-controller.js';
import type { WebSearchService } from '../web-search/index.js';
import type { ChannelPluginRegistry } from '../channels/index.js';
import type { RemoteRunnerRegistry } from '../runtime/remote/index.js';
import { CrossSessionTaskRegistry } from '../sessions/orchestration/index.js';
import type { SandboxSessionRegistry } from '../runtime/sandbox/session-registry.js';
import type { FeatureFlagManager } from '../runtime/feature-flags/index.js';
import type { ServiceRegistry } from '../config/service-registry.js';
import type { SecretsManager } from '../config/secrets.js';
import { OverflowHandler } from './shared/overflow.js';
import type { SessionChangeTracker } from '../sessions/change-tracker.js';
import type { ArchetypeLoader } from '../agents/archetypes.js';
export { ToolRegistry } from './registry.js';
export { ProcessManager } from './shared/process-manager.js';
export type { BackgroundProcess, BgCommandResult, SpawnOptions } from './shared/process-manager.js';
export { AGENT_TEMPLATES, AgentManager } from './agent/index.js';
export type { AgentExecutor, AgentRecord } from './agent/index.js';
export { AutoHealer, } from './shared/auto-heal.js';
export { appendSchemaFingerprint, computeSchemaFingerprint, computeSchemaFingerprintSync, getSchemaShapeId, SCHEMA_SHAPE_IDS, } from './shared/schema-fingerprint.js';
export type { SchemaFingerprintMeta } from './shared/schema-fingerprint.js';
export { OverflowHandler, createSpillBackend } from './shared/overflow.js';
export { DiagnosticsBackend, FileBackend, LedgerBackend, overflowCleanup, } from './shared/overflow.js';
export type { OverflowHandlerConfig, OverflowOptions, OverflowResult, RetentionPolicyConfig, SpillBackend, SpillBackendType, SpillEntry, } from './shared/overflow.js';
export { WORKFLOW_DEFINITIONS, TriggerManager, WorkflowManager, ScheduleManager, createWorkflowServices, createWorkflowTool, parseInterval, } from './workflow/index.js';
export type { TriggerDefinition, WorkflowServices } from './workflow/index.js';
export { loadSkillByTrigger } from './registry-tool/skill-loader.js';
export type { SkillLoaderRoots } from './registry-tool/skill-loader.js';
export { ReadTool } from './read/index.js';
export { createWriteTool } from './write/index.js';
export { createEditTool } from './edit/index.js';
export type { EditToolOptions } from './edit/index.js';
export { createFindTool } from './find/index.js';
export { createExecTool } from './exec/index.js';
export { formatDenialResponse, guardExecCommand } from './exec/ast-guard.js';
export { createAnalyzeTool } from './analyze/index.js';
export { InspectTool } from './inspect/index.js';
export { createAgentTool } from './agent/index.js';
export { createChannelTool } from './channel/index.js';
export { registerChannelAgentTools } from './channel/agent-tools.js';
export { controlTool } from './control/index.js';
export { createFetchTool } from './fetch/index.js';
export { applySanitizer, resolveSanitizeMode } from './fetch/sanitizer.js';
export type { SanitizeMode } from './fetch/sanitizer.js';
export { TRUST_TIER_EVENTS, classifyHostTrustTier, extractHostname, } from './fetch/trust-tiers.js';
export type { TrustTierConfig } from './fetch/trust-tiers.js';
export { repairToolCall } from './auto-repair.js';
export { createMcpTool } from './mcp/index.js';
export { createPacketTool } from './packet/index.js';
export { createQueryTool } from './query/index.js';
export { createRegistryTool } from './registry-tool/index.js';
export { createRemoteTool } from './remote-trigger/index.js';
export { createReplTool } from './repl/index.js';
export { createStateTool } from './state/index.js';
export { createTaskTool } from './task/index.js';
export { createTeamTool } from './team/index.js';
export { createWebSearchTool } from './web-search/index.js';
export { createWorklistTool } from './worklist/index.js';
type ToolContractFeatureFlags = Pick<FeatureFlagManager, 'isEnabled'>;
export declare function registerToolWithContractGate(registry: ToolRegistry, tool: Tool, featureFlags?: ToolContractFeatureFlags | null): void;
/**
 * Register all built-in tools into the given registry.
 * Creates shared FileStateCache and ProjectIndex instances so read/write/edit
 * tools share cache state within a session.
 */
export declare function registerAllTools(registry: ToolRegistry, deps?: {
    fileCache?: FileStateCache | undefined;
    projectIndex?: ProjectIndex | undefined;
    fileUndoManager: FileUndoManager;
    modeManager: ModeManager;
    processManager: ProcessManager;
    agentManager?: AgentManager | undefined;
    agentMessageBus: AgentMessageBus;
    wrfcController?: WrfcController | undefined;
    webSearchService?: WebSearchService | undefined;
    channelRegistry?: ChannelPluginRegistry | null | undefined;
    remoteRunnerRegistry?: RemoteRunnerRegistry | undefined;
    workflowServices: ReturnType<typeof createWorkflowServices>;
    mcpRegistry?: import('../mcp/registry.js').McpRegistry | undefined;
    sessionOrchestration?: CrossSessionTaskRegistry | undefined;
    sandboxSessionRegistry?: SandboxSessionRegistry | undefined;
    workingDirectory: string;
    surfaceRoot: string;
    archetypeLoader?: Pick<ArchetypeLoader, 'loadArchetype'> | undefined;
    configManager?: ConfigManager | undefined;
    providerRegistry?: ProviderRegistry | undefined;
    toolLLM?: ToolLLM | undefined;
    featureFlags?: Pick<FeatureFlagManager, 'isEnabled'> | null | undefined;
    serviceRegistry?: Pick<ServiceRegistry, 'resolveAuth' | 'getAll' | 'inspect'> | null | undefined;
    secretsManager?: Pick<SecretsManager, 'get' | 'set' | 'getGlobalHome'> | null | undefined;
    overflowHandler?: OverflowHandler | undefined;
    changeTracker?: SessionChangeTracker | undefined;
}): {
    fileCache: FileStateCache;
    projectIndex: ProjectIndex;
};
//# sourceMappingURL=index.d.ts.map