import { IAssistantEvents, IAssistantState, IAssistantStep, TAssistantStatus, TAssistantStrategyName } from './types'; import { LlmProvider } from '../llm'; import { AssistantSource } from './source'; import { TFunction } from '../../../types'; import * as strategies from './strategies'; export * from './strategies'; export * from './source'; export * from './types'; export declare class Assistant { source: AssistantSource; strategies: strategies.AssistantStrategy[]; context: { cwd: string; provider: LlmProvider; target: number; iterations: number; /** Restricts to use only provided strategies */ strategies?: TAssistantStrategyName[]; }; status: TAssistantStatus; steps: IAssistantStep[]; state: IAssistantState; private counter; private events; private spent; constructor(source: AssistantSource, strategies: strategies.AssistantStrategy[], context: { cwd: string; provider: LlmProvider; target: number; iterations: number; /** Restricts to use only provided strategies */ strategies?: TAssistantStrategyName[]; }); calculateTimeSpent(): number; clear(): Promise; run(iterations?: number): Promise; is(statuses: TAssistantStatus[]): boolean; on(key: K, listener: TFunction): this; once(key: K, listener: TFunction): this; private emit; private complete; private register; static build(location: string, options?: Omit, 'model'> & { model?: string; rate?: number; }): Promise; } //# sourceMappingURL=index.d.ts.map