/**
 * Extension Clone - 1:1 Kopie der VSCode Extension ohne VSCode Dependencies
 * Verwendet exakt den gleichen Controller und die gleichen Message-Formate
 */
import { EventEmitter } from "events";
export interface ExtensionMessage {
    type: string;
    [key: string]: any;
}
export interface WebviewMessage {
    type: string;
    [key: string]: any;
}
export declare class ExtensionCloneController extends EventEmitter {
    readonly id: string;
    private context;
    private outputChannel;
    private messageHandler;
    private task?;
    private storage;
    constructor(dataDir: string, apiKey?: string);
    private initialize;
    /**
     * Handle webview messages exactly like the real extension
     */
    handleWebviewMessage(message: WebviewMessage): Promise<void>;
    private handleGrpcRequest;
    private handleStateService;
    private handleTaskService;
    private handleWebviewLaunch;
    private handleGetLatestState;
    private handleNewTask;
    private handleAskResponse;
    private getLatestState;
    private createNewTask;
    private sendTaskResponse;
    /**
     * Process the current task with real file operations
     */
    private processTask;
    /**
     * Create a Python hello world file with greeting function
     */
    private createPythonHelloFile;
    private sendMessage;
    /**
     * Send a message to the controller (like webview would do)
     */
    postMessage(message: WebviewMessage): Promise<void>;
    /**
     * Subscribe to messages from the controller
     */
    onMessage(handler: (message: ExtensionMessage) => void): void;
    /**
     * Dispose resources
     */
    dispose(): void;
}
export default ExtensionCloneController;
//# sourceMappingURL=extension-clone.d.ts.map