/// <reference types="node" />
import type { RemoteAPI, SupportedPHPVersion } from '@php-wasm/universal';
import type { BlueprintBundle, BlueprintDeclaration } from '@wp-playground/blueprints';
import type { Server } from 'http';
import type { Mount, PlaygroundCliWorker } from './worker-thread';
export declare function parseOptionsAndRunCLI(): Promise<RunCLIServer>;
export interface RunCLIArgs {
    blueprint?: BlueprintDeclaration | BlueprintBundle;
    command: 'server' | 'run-blueprint' | 'build-snapshot';
    debug?: boolean;
    login?: boolean;
    mount?: Mount[];
    'mount-before-install'?: Mount[];
    outfile?: string;
    php?: SupportedPHPVersion;
    port?: number;
    quiet?: boolean;
    skipWordPressSetup?: boolean;
    skipSqliteSetup?: boolean;
    wp?: string;
    autoMount?: boolean;
    followSymlinks?: boolean;
    experimentalMultiWorker?: number;
    experimentalTrace?: boolean;
    internalCookieStore?: boolean;
    'additional-blueprint-steps'?: any[];
    xdebug?: boolean;
}
export interface RunCLIServer extends AsyncDisposable {
    playground: RemoteAPI<PlaygroundCliWorker>;
    server: Server;
    [Symbol.asyncDispose](): Promise<void>;
}
export declare function runCLI(args: RunCLIArgs): Promise<RunCLIServer>;
