/**
 * Plugin Client for dot-ai Plugin System
 *
 * HTTP client for communicating with agentic plugins.
 * Handles describe and invoke hooks via POST /execute endpoint.
 *
 * PRD #343: kubectl Plugin Migration
 */
import { PluginConfig, DescribeResponse, InvokeResponse } from './plugin-types';
import { Logger } from './error-handling';
/**
 * Error thrown when plugin communication fails
 */
export declare class PluginClientError extends Error {
    readonly pluginName: string;
    readonly pluginUrl: string;
    readonly cause?: Error | undefined;
    constructor(message: string, pluginName: string, pluginUrl: string, cause?: Error | undefined);
}
/**
 * HTTP client for a single plugin
 */
export declare class PluginClient {
    private readonly config;
    private readonly logger;
    private readonly timeout;
    constructor(config: PluginConfig, logger: Logger);
    /**
     * Get plugin name
     */
    get name(): string;
    /**
     * Get plugin URL
     */
    get url(): string;
    /**
     * Call the describe hook to get tool definitions
     */
    describe(): Promise<DescribeResponse>;
    /**
     * Call the invoke hook to execute a tool
     */
    invoke(tool: string, args: Record<string, unknown>, state?: Record<string, unknown>, sessionId?: string): Promise<InvokeResponse>;
    /**
     * Check if plugin is healthy/reachable
     */
    healthCheck(): Promise<boolean>;
    /**
     * Execute a request to the plugin's /execute endpoint
     */
    private execute;
}
//# sourceMappingURL=plugin-client.d.ts.map