import { ExtensionAPI } from '@earendil-works/pi-coding-agent'; type BailianPlan = "token-plan" | "coding-plan" | "custom"; interface BailianConfig { /** Workspace ID used in the dedicated Bailian endpoint host. */ workspaceId: string; /** Plan label used for display and endpoint defaults. */ plan: BailianPlan; /** Optional custom API base URL, including /compatible-mode/v1. */ baseUrl: string | undefined; /** Whether to query the Bailian model catalog at startup and on refresh. */ discoverModels: boolean; /** Whether to use the Responses API for models listed as supporting it. */ preferResponses: boolean; } type ConfigWarnings = string[]; declare function normalizeConfig(raw: unknown, base?: BailianConfig): { config: BailianConfig; warnings: ConfigWarnings; }; declare function defaultBaseUrl(config: BailianConfig): string; interface BailianModelRecord { id: string; name: string; reasoning: boolean; input: ("text" | "image")[]; contextWindow: number; maxTokens: number; api: "openai-responses" | "openai-completions"; cost: { input: number; output: number; cacheRead: number; cacheWrite: number; }; thinkingLevelMap?: Record; compat?: Record; } interface ModelListEntry { model?: string; name?: string; description?: string; features?: string[]; capabilities?: string[]; inference_metadata?: { request_modality?: string[]; }; model_info?: { context_window?: number | null; max_input_tokens?: number | null; max_output_tokens?: number | null; max_reasoning_tokens?: number | null; }; prices?: Array<{ prices?: Array<{ type?: string; price?: string | number; price_unit?: string; }>; }>; } declare function mapModel(entry: ModelListEntry, config: BailianConfig): BailianModelRecord | undefined; declare function listModels(config: BailianConfig, signal?: AbortSignal): Promise; declare const PROVIDER_ID = "bailian"; declare const API_KEY_ENV = "DASHSCOPE_API_KEY"; declare function piBailianExtension(pi: ExtensionAPI): Promise; export { API_KEY_ENV, PROVIDER_ID, piBailianExtension as default, defaultBaseUrl, listModels, mapModel, normalizeConfig };