import type { LayoutGraph, LayoutState } from './diagram/layout';
import { DefaultLayoutOptions, ColaForceLayoutOptions, ColaFlowLayoutOptions } from './diagram/layoutShared';
/**
 * Provides a web worker with basic diagram layout algorithms.
 */
declare class DefaultLayouts {
    /**
     * Default layout algorithm, the same as {@link blockingDefaultLayout}
     * but non-blocking due to being run in a worker.
     *
     * @see {@link blockingDefaultLayout}
     */
    defaultLayout(graph: LayoutGraph, state: LayoutState, options?: DefaultLayoutOptions): Promise<LayoutState>;
    /**
     * Force-directed layout algorithm from [cola.js](https://ialab.it.monash.edu/webcola/).
     */
    forceLayout(graph: LayoutGraph, state: LayoutState, options?: ColaForceLayoutOptions): Promise<LayoutState>;
    /**
     * Flow layout algorithm from [cola.js](https://ialab.it.monash.edu/webcola/).
     */
    flowLayout(graph: LayoutGraph, state: LayoutState, options?: ColaFlowLayoutOptions): Promise<LayoutState>;
    /**
     * Remove overlaps algorithm from [cola.js](https://ialab.it.monash.edu/webcola/).
     */
    removeOverlaps(graph: LayoutGraph, state: LayoutState): Promise<LayoutState>;
}
export type { DefaultLayouts };
//# sourceMappingURL=layout.worker.d.ts.map