/**
 * OpenCode Agent Provider
 *
 * Combines the OpenCode headless and interactive providers
 * into a single AgentProvider implementation.
 *
 * @module
 */
import type { AgentProvider, HeadlessProvider, InteractiveProvider, ModelInfo } from '../types.js';
export { OpenCodeHeadlessProvider } from './headless.js';
export { OpenCodeInteractiveProvider } from './interactive.js';
export { OpenCodeEventMapper } from './event-mapper.js';
export type { OpenCodeEvent } from './event-mapper.js';
export { AsyncQueue } from './async-queue.js';
export { serverManager } from './server-manager.js';
export interface OpenCodeProviderConfig {
    executablePath?: string;
    port?: number;
}
/**
 * OpenCode Agent Provider - alternative provider using OpenCode CLI and SDK.
 */
export declare class OpenCodeAgentProvider implements AgentProvider {
    readonly name = "opencode";
    readonly headless: HeadlessProvider;
    readonly interactive: InteractiveProvider;
    private readonly config?;
    constructor(config?: OpenCodeProviderConfig);
    isAvailable(): Promise<boolean>;
    getInstallInstructions(): string;
    listModels(): Promise<ModelInfo[]>;
}
//# sourceMappingURL=index.d.ts.map