import { BaseComponent } from '../components';
import type { NodeFactory } from './NodeFactory.svelte';
import { Layout, Vector2D } from '@selenite/commons';
import type { GraphNode } from '../nodes';
export declare class NodeLayout extends BaseComponent<NodeFactory> {
    applyOffsets(nodes: GraphNode[], offsets: Vector2D[]): Promise<void>;
    getLayoutRectsAndRefPos(): {
        rects: Layout.LayoutRect[];
        refPos: number;
    };
    getOffsets(offsetFunction: (rects: Layout.LayoutRect[], options: Layout.LayoutOptions) => Vector2D[]): Vector2D[];
    applyLayout(offsetFunction: (rects: Layout.LayoutRect[], options: Layout.LayoutOptions) => Vector2D[]): Promise<void>;
    justifyLeft(): Promise<void>;
    justifyRight(): Promise<void>;
    justifyCenter(): Promise<void>;
    justifyBetween(): Promise<void>;
    alignTop(): Promise<void>;
    alignMiddle(): Promise<void>;
    alignBottom(): Promise<void>;
    spaceVertical(): Promise<void>;
}
