/**
 * Adapters for different agent platforms
 */
import type { Adapter, NetworkMessage } from './core/types.js';
import { type ClientInstructionEnvelope } from '../engines/instruction-gateway.js';
export type { Adapter } from './core/types.js';
declare abstract class RenderedInstructionAdapter implements Adapter {
    name: string;
    type: AdapterType;
    connected: boolean;
    agents: string[];
    private gateway?;
    private gatewayRepoRoot?;
    private lastEnvelope?;
    constructor(name: string, type: AdapterType);
    connect(): Promise<void>;
    disconnect(): Promise<void>;
    send(message: NetworkMessage): Promise<void>;
    receive(message: NetworkMessage): void;
    spawnAgent(type: string, config?: unknown): Promise<string>;
    private getGateway;
    getLastEnvelope(): ClientInstructionEnvelope | undefined;
}
export declare class OpenClawAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class HermesAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class NanoClawAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class PicoClawAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class ClaudeCodeAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class RufloAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class CodexAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class OpencodeAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class CursorAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class WindsurfAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class AiderAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class ContinueAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class ClineAdapter extends RenderedInstructionAdapter {
    constructor();
}
export declare class CustomAdapter extends RenderedInstructionAdapter {
    private sendHandler?;
    private receiveHandler?;
    constructor(name: string);
    send(message: NetworkMessage): Promise<void>;
    receive(message: NetworkMessage): void;
    setSendHandler(handler: (message: NetworkMessage) => Promise<void>): void;
    setReceiveHandler(handler: (message: NetworkMessage) => void): void;
}
export type AdapterType = 'openclaw' | 'hermes' | 'nanoclaw' | 'picoclaw' | 'claude-code' | 'ruflo' | 'langchain' | 'autogen' | 'custom' | 'mcp' | 'codex' | 'opencode' | 'cursor' | 'windsurf' | 'aider' | 'continue' | 'cline';
export declare function createAdapter(type: AdapterType, customName?: string): Adapter;
