import { type StreamedPHPResponse, type UniversalPHP } from '@php-wasm/universal';
import { type BlueprintV2Declaration, type ParsedBlueprintV2Declaration } from './blueprint-v2-declaration';
export type PHPExceptionDetails = {
    exception: string;
    message: string;
    file: string;
    line: number;
    trace: string;
};
export type BlueprintMessage = {
    type: 'blueprint.target_resolved';
} | {
    type: 'blueprint.progress';
    progress: number;
    caption: string;
} | {
    type: 'blueprint.error';
    message: string;
    details?: PHPExceptionDetails;
} | {
    type: 'blueprint.completion';
    message: string;
};
interface RunV2Options {
    php: UniversalPHP;
    cliArgs?: string[];
    blueprint: BlueprintV2Declaration | ParsedBlueprintV2Declaration;
    blueprintOverrides?: {
        wordpressVersion?: string;
        additionalSteps?: any[];
    };
    onMessage?: (message: BlueprintMessage) => void | Promise<void>;
}
export declare function runBlueprintV2(options: RunV2Options): Promise<StreamedPHPResponse>;
export {};
