import { type TmuxExecutorOptions } from "../tmux/executor";
import type { Preset } from "../models/types";
import type { ILayoutEngine, ITmuxExecutor, ITmuxCommandGenerator, ICommandExecutor } from "../interfaces";
export interface LayoutEngineOptions extends Omit<TmuxExecutorOptions, "executor"> {
    executor?: ITmuxExecutor | ICommandExecutor;
    commandGenerator?: ITmuxCommandGenerator;
}
export declare class LayoutEngine implements ILayoutEngine {
    private readonly executor;
    private readonly commandGenerator;
    constructor(options?: LayoutEngineOptions);
    createLayout(preset: Preset): Promise<void>;
    private createLayoutRecursive;
    private applyPaneOptions;
    private getCurrentPaneId;
    private getAllPaneIds;
}
//# sourceMappingURL=engine.d.ts.map