import type { AgentConfig, CrewxProjectConfig, QueryOptions as BaseQueryOptions, QueryResult, ExecuteOptions, ExecuteResult } from '../types/index.js'; export interface ToolDefinition { name: string; description: string; parameters?: Record; execute: (args: Record) => Promise; } export interface BrowserQueryOptions extends BaseQueryOptions { onOutput?: (partial: string) => void; } export interface BrowserFromConfigOptions { onProgress?: (report: { progress?: number; text?: string; }) => void; openrouterApiKey?: string; } export declare class Crewx { private readonly _agents; private readonly _config?; private readonly _tools; private readonly _apiProviders; private constructor(); static fromConfig(config: CrewxProjectConfig, options?: BrowserFromConfigOptions): Promise; private _initWebLLM; private _initOpenRouter; get agents(): ReadonlyMap; get config(): CrewxProjectConfig | undefined; get tools(): ReadonlyMap; registerTool(name: string, definition: Omit): void; query(agentRef: string, message: string, options?: BrowserQueryOptions): Promise; execute(agentRef: string, message: string, options?: ExecuteOptions): Promise; }