import type { ProviderQueryOptions, ProviderUsage } from '../bridge.js'; import type { TaskLogEntry } from '../../types/task-log.types.js'; import { ProviderError } from '../errors.js'; export interface CliProviderAdapter { readonly command: string; readonly meta?: { displayName?: string; models?: Array<{ id: string; name?: string; }>; defaultTimeoutMs?: { query?: number; execute?: number; }; }; buildArgs(message: string, options: ProviderQueryOptions, isExecute: boolean): { args: string[]; stdinMessage?: string; }; extractText(stdout: string): string; extractFailure?(line: string): Error | null; interpretExit?(code: number, stderr: string): Error | null; parseResultMeta?(stdout: string): { usage?: ProviderUsage | null; model?: string | null; }; parseEvent?(line: string, timestamp?: string): TaskLogEntry[]; suppressOutputLine?(line: string): boolean; } export declare class RateLimitError extends ProviderError { readonly name = "RateLimitError"; constructor(message: string, providerStr?: string); }