import type { UniversalPHP } from '@php-wasm/universal'; import type { Blueprint, BlueprintBundle, BlueprintDeclaration } from './types'; import { type CompileBlueprintV1Options, type CompiledBlueprintV1 } from './v1/compile'; import type { BlueprintV1Declaration } from './v1/types'; import type { BlueprintV2Declaration } from './v2/blueprint-v2-declaration'; import { type CompiledBlueprintV2 } from './v2/compile'; import type { ResolveRuntimeConfigurationOptions } from './resolve-runtime-configuration'; export type BlueprintExecutionPath = 'v1' | 'v2'; export type CompiledBlueprintForExecution = { version: 1; declaration: BlueprintV1Declaration; compiled: CompiledBlueprintV1; run: (playground: UniversalPHP) => Promise; } | { version: 2; declaration: BlueprintV2Declaration; compiled: CompiledBlueprintV2; run: (playground: UniversalPHP) => Promise; }; export interface CompileBlueprintForExecutionOptions extends Omit, ResolveRuntimeConfigurationOptions { onBlueprintValidated?: (blueprint: BlueprintDeclaration) => void; } type BlueprintExecutionInput = Blueprint | BlueprintBundle | string; /** * Compiles a Blueprint into the shape consumers need before execution. * * The legacy `compileBlueprint()` export intentionally remains v1-only for * backwards compatibility. This helper is the version-aware entrypoint that * newer callers can migrate to as Blueprint v2 support grows. */ export declare function compileBlueprintForExecution(input: BlueprintExecutionInput, options?: CompileBlueprintForExecutionOptions): Promise; export {};