import { AgentBase, type SpawnPlan } from '../../../core/agent-base.js';
import type { AgentSendOpts } from '../../../core/types.js';
export declare class CursorAdapter extends AgentBase {
    readonly name = "cursor";
    readonly aliases: string[];
    readonly kind: "cli";
    /** Cached bin path resolution. null = "haven't probed";
     *  undefined = "probed, not found, fall back to bare name". */
    private resolvedBin;
    /** Have we written the imhub MCP entry to ~/.cursor/mcp.json yet this
     *  agim process lifetime? Saves the disk hit on every send. Reset on
     *  agim restart so the next run rewrites with the fresh socket path. */
    private mcpReady;
    protected get commandName(): string;
    protected buildArgs(prompt: string, opts: AgentSendOpts): string[];
    protected prepareCommand(prompt: string, opts: AgentSendOpts): Promise<SpawnPlan>;
    /** Pull the assistant text from a single stream-json event. */
    protected extractText(event: unknown): string;
    /** Capture `session_id` from system.init AND token usage from result
     *  events so cli persists session resume + audit log records cost
     *  (well, tokens — cursor doesn't price client-side). */
    protected inspectEvent(event: unknown, opts: AgentSendOpts): void;
    protected handleError(_code: number, stderr: string, errorMessage: string): string | null;
    protected notAvailableMessage(): string;
    isAvailable(): Promise<boolean>;
}
export declare const cursorAdapter: CursorAdapter;
//# sourceMappingURL=index.d.ts.map