import type { LayoutMapping, XYPosition } from 'graphology-layout/utils';
import type { SerializedGraph } from 'graphology-types';
import type { SimulationAttributes, SimulationEdge, SimulationNode } from '../../../types';
import type { BaseLayoutParams, LayoutComputationCallbacks, SerializableLayoutComputationResult } from '../common';
/**
 * Compute the layout for the given graph using the provided layout parameters.
 *
 * @param layoutParams layout parameters
 * @param serializedGraph the graph to apply the layout to, in its serialized form created by graphology
 * @param forceUpdate callback to update the layout, is a proxy to the main thread
 */
export declare function applyLayout<TParams extends BaseLayoutParams>(layoutParams: TParams, serializedGraph: SerializedGraph<SimulationNode, SimulationEdge, SimulationAttributes>, forceUpdate?: (layout: LayoutMapping<XYPosition>, edgePoints?: LayoutMapping<XYPosition[]>) => void): Promise<SerializableLayoutComputationResult>;
/**
 * Invoke a callback registered by the layout computation.
 *
 * @param cbName name of the callback to invoke
 * @param args arguments to pass to the callback
 */
export declare function invokeCallback<CbName extends keyof LayoutComputationCallbacks>(cbName: CbName, ...args: Parameters<LayoutComputationCallbacks[CbName]>): Promise<void>;
/**
 * Public API exposed from the worker
 */
export declare const workerApi: {
    readonly applyLayout: typeof applyLayout;
    readonly invokeCallback: typeof invokeCallback;
};
//# sourceMappingURL=worker.d.ts.map