/**
 * ExtensionProviderInstance — Runtime instance for Extension Provider
 *
 * Manages IDE extensions (Cline, Roo Code, etc).
 * CDP webview discovery + agent stream collection moved here.
 */
import { type ProviderModule } from './contracts.js';
import type { ProviderInstance, ProviderState, InstanceContext, SessionModalState } from './provider-instance.js';
export declare class ExtensionProviderInstance implements ProviderInstance {
    readonly type: string;
    readonly category: "extension";
    private provider;
    private context;
    private settings;
    private events;
    private currentStatus;
    private agentStreams;
    private messages;
    private prevMessageHashes;
    private activeModal;
    private controlValues;
    private summaryMetadata;
    private appliedEffectKeys;
    private runtimeMessages;
    private lastAgentStatus;
    private generatingStartedAt;
    private monitor;
    private historyWriter;
    private instanceId;
    private ideType;
    private chatId;
    private providerSessionId;
    private chatTitle;
    private agentName;
    private extensionId;
    constructor(provider: ProviderModule);
    init(context: InstanceContext): Promise<void>;
    onTick(): Promise<void>;
    getState(): ProviderState;
    getSessionModalState(sessionId?: string): SessionModalState | null;
    onEvent(event: string, data?: any): void;
    dispose(): void;
    updateSettings(newSettings: Record<string, any>): void;
    /** Query UUID instanceId */
    getInstanceId(): string;
    private detectTransition;
    private pushEvent;
    private applyProviderResponse;
    private appendRuntimeSystemMessage;
    private appendRuntimeMessage;
    private buildSyntheticTurnKey;
    /**
     * Assign stable receivedAt / synthetic _turnKey to extension messages.
     * Same transcript should keep the same identity across polling cycles and
     * stream resets, while repeated identical text later in the transcript still
     * produces a distinct completion marker via the occurrence suffix.
     */
    private assignReceivedAt;
    private mergeConversationMessages;
    private getPersistedEffectContent;
    private getEffectDedupKey;
    private flushEvents;
    private resolveChatTitle;
    private resetStreamState;
}
