import type { Provider } from "@earendil-works/pi-ai"; import type { PackageManager, ResolvedPaths } from "@earendil-works/pi-coding-agent"; export declare const PI_FACTORY_PROVIDER_VERSION: 1; export type PiFactoryRunStatus = "success" | "error" | "cancelled"; export type CreatePiFactoryProviderInput = { readonly providerId: string; readonly agentDir: string; readonly nativeProvider?: Provider; readonly signal?: AbortSignal; }; export type CreatedPiFactoryProvider = { readonly provider: Provider; readonly startRun?: (runId: string) => void | Promise; readonly finishRun?: (runId: string, status: PiFactoryRunStatus) => void | Promise; readonly close?: () => void | Promise; }; export type PiFactoryProviderModule = { readonly version: 1; readonly createProvider: (input: CreatePiFactoryProviderInput) => CreatedPiFactoryProvider | Promise; }; export type ResolvedProviderModule = { readonly providerId: string; readonly source: string; readonly packageRoot: string; readonly modulePath: string; readonly activationExtensionPath: string; }; export declare function resolveProviderModule(input: { readonly providerId: string; readonly packageManager: PackageManager; readonly resolvedPaths: ResolvedPaths; }): Promise; export declare function createDeclaredProvider(input: { readonly declaration: ResolvedProviderModule; readonly agentDir: string; readonly nativeProvider?: Provider; readonly signal?: AbortSignal; }): Promise;