import { ProviderId } from '../../providers'; import { ProviderKind, Logger, DispatchRequest, DispatchOutcome } from '../base/contract'; import { ProviderManager } from '../base/ProviderManager'; import { OpencodeProviderEvents } from './ProviderEvents'; import { OpencodeProviderModels } from './ProviderModels'; import { OpencodeProviderSessions } from './ProviderSessions'; import { OpencodeCliProviderState, OpencodeSdkProviderState } from './ProviderState'; import { OpencodeProviderNormalizer } from './ProviderNormalizer'; import { OpencodeProviderUsage } from './ProviderUsage'; export declare class OpenCodeCliProvider extends ProviderManager { readonly id: ProviderId; readonly label = "OpenCode CLI"; readonly kind: ProviderKind; readonly family = "opencode"; readonly events: OpencodeProviderEvents; readonly models: OpencodeProviderModels; readonly sessions: OpencodeProviderSessions; readonly state: OpencodeCliProviderState; readonly normalizer: OpencodeProviderNormalizer; readonly usage: OpencodeProviderUsage; resolveSession(root: string, log: Logger): Promise; dispatch(req: DispatchRequest): Promise; } export declare class OpenCodeSdkProvider extends ProviderManager { readonly id: ProviderId; readonly label = "OpenCode SDK"; readonly kind: ProviderKind; readonly family = "opencode"; readonly events: OpencodeProviderEvents; readonly models: OpencodeProviderModels; readonly sessions: OpencodeProviderSessions; readonly state: OpencodeSdkProviderState; readonly normalizer: OpencodeProviderNormalizer; readonly usage: OpencodeProviderUsage; dispatch(req: DispatchRequest, ctx: { log: Logger; showOutput?: () => void; }): Promise; }