export type MetricFlowWarehouseAdapter = 'duckdb' | 'snowflake' | 'bigquery' | 'databricks' | 'redshift' | 'postgres' | 'trino'; export type MetricFlowInstallState = 'idle' | 'queued' | 'running' | 'completed' | 'failed'; export type MetricFlowInstallStage = 'detecting_python' | 'creating_environment' | 'installing' | 'parsing' | 'testing' | 'ready'; export interface MetricFlowInstallJob { id: string; state: MetricFlowInstallState; stage: MetricFlowInstallStage; progress: number; adapter: MetricFlowWarehouseAdapter; packageSpec: string; message: string; createdAt: string; updatedAt: string; runtimePath: string; runtimeVersion?: string; logs: string[]; error?: string; } export interface MetricFlowInstallInput { adapter: MetricFlowWarehouseAdapter; dbtProjectDir: string; profilesDir?: string; } type CommandResult = { stdout: string; stderr: string; }; type CommandRunner = (command: string, args: string[], options: { cwd: string; env?: NodeJS.ProcessEnv; timeoutMs: number; onOutput: (line: string) => void; }) => Promise; /** API-004 / UI-009: keep the Python semantic engine isolated and versioned * independently from the user's system dbt installation. */ export declare function metricFlowPackageSpec(adapter: MetricFlowWarehouseAdapter): string; export declare function metricFlowAdapterForDriver(driver: string | undefined): MetricFlowWarehouseAdapter | null; export declare function isMetricFlowWarehouseAdapter(value: unknown): value is MetricFlowWarehouseAdapter; export declare function managedMetricFlowPython(projectRoot: string): string; export declare function managedMetricFlowDbt(projectRoot: string): string; export declare class ManagedMetricFlowInstaller { private readonly projectRoot; private readonly runner; private readonly jobs; private latestId; constructor(projectRoot: string, runner?: CommandRunner); latest(): MetricFlowInstallJob | null; get(id: string): MetricFlowInstallJob | null; start(input: MetricFlowInstallInput): MetricFlowInstallJob; private update; private log; private run; } export declare function metricFlowPythonCandidates(explicit?: string): string[]; export {}; //# sourceMappingURL=metricflow-installer.d.ts.map