import type { FunctorStep, PipelineArgs, WorldInstance } from '@core/types';
import { SymbolicWorldFrame } from '../lib/utils/world-utils';
export type WorldSimulatorConfig = {
    verbose?: boolean;
};
interface CreateWorldFromFrameParams {
    frame: SymbolicWorldFrame;
    pipelineId: string;
    runId: string;
}
export declare function createWorldFromFrame({ frame, pipelineId, runId, }: CreateWorldFromFrameParams): WorldInstance;
export declare function makeNewWorld(pipelineId: string): WorldInstance;
/**
 * Run a world pipeline using a SymbolicWorld as the stateful model.
 * @param world - The SymbolicWorld instance (mutable, stateful)
 * @param userArgs - PipelineArgs object (contains input parameters and config)
 * @param steps - Array of FunctorStep pipeline steps
 * @param config - Optional run config
 * @returns The mutated SymbolicWorld after running all steps
 */
export declare function runWorldPipeline({ world, userArgs, steps, config, }: {
    world: WorldInstance;
    userArgs: PipelineArgs;
    steps: FunctorStep[];
    config: WorldSimulatorConfig;
}): Promise<WorldInstance>;
export declare function forkWorld(sourceWorld: WorldInstance, newParams?: Record<string, any>): WorldInstance;
export {};
