import type { Distance } from '../distance';
import type { Operation } from '../operation';
import type { Task } from '../task';
import { Method } from '../task';
import type { Plan } from './plan';
import type { PlannerConfig } from './types';
interface PlanningState<TState = any> {
    distance: Distance<TState>;
    tasks: Array<Task<TState, string, any>>;
    depth?: number;
    operation?: Operation<TState, any>;
    trace: PlannerConfig<TState>['trace'];
    initialPlan: Plan<TState>;
    callStack?: Array<Method<TState>>;
    maxSearchDepth: number;
}
export declare function findPlan<TState = any>({ distance, tasks, trace, depth, initialPlan, callStack, maxSearchDepth, }: PlanningState<TState>): Plan<TState>;
export {};
