import { AdsService, type AdsServiceDependencies } from "./ads/index.js"; import { type TwinCatAdsRuntime } from "twincat-mcp-core"; import { type ExtensionConfigInput, type ExtensionRuntimeConfig } from "./config.js"; import { type HookDefinition } from "./hooks/index.js"; import { type ToolDefinition, type ToolExecutionResult } from "./tools/index.js"; export interface RegisteredToolDefinition extends Omit, "execute"> { execute(rawInput: unknown, signal?: AbortSignal): Promise>; } export interface ExtensionRegistration { readonly tools: RegisteredToolDefinition[]; readonly hooks: HookDefinition[]; } export interface PiTwinCatAdsExtension { readonly name: "pi-twincat-ads"; readonly config: ExtensionRuntimeConfig; readonly adsService: AdsService; readonly runtime: TwinCatAdsRuntime; readonly tools: RegisteredToolDefinition[]; readonly hooks: HookDefinition[]; register(): Promise; } export declare function createExtension(config: ExtensionConfigInput | ExtensionRuntimeConfig, dependencies?: AdsServiceDependencies): PiTwinCatAdsExtension; export { normalizeExtensionConfig } from "./config.js"; export { AdsService, type AdsServiceDependencies, type PlcReadResult, type PlcStateResult, type PlcSymbolSummary, type PlcWatchMode, type PlcWatchRegistration, type PlcWatchSnapshot, type PlcWriteAccessResult, type PlcWriteMode, type PlcWriteModeResult, type RuntimeErrorListResult, type RuntimeEventListResult, type RuntimeLogReadResult, type TwinCatStateResult, } from "./ads/index.js"; export { createToolDefinitions, type ToolDefinition, type ToolExecutionResult, } from "./tools/index.js"; export { createTwinCatAdsRuntime, type TwinCatAdsRuntime } from "twincat-mcp-core"; export { createHookDefinitions, type HookDefinition, type HookExecutionResult, } from "./hooks/index.js"; export type { AdsConnectionMode, AdsDirectConnectionConfig, AdsRouterConnectionConfig, ExtensionConfigInput, ExtensionRuntimeConfig, WritePolicy, } from "./config.js";