/**
 * @license
 * Copyright 2021 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import type { UiMetrics } from '../metrics_manager.js';
import type { Rect } from '../utils/rect.js';
import type { IComponent } from './i_component.js';
/**
 * Interface for a component that is positioned on top of the workspace.
 */
export interface IPositionable extends IComponent {
    /**
     * Positions the element. Called when the window is resized.
     *
     * @param metrics The workspace metrics.
     * @param savedPositions List of rectangles that are already on the workspace.
     */
    position(metrics: UiMetrics, savedPositions: Rect[]): void;
    /**
     * Returns the bounding rectangle of the UI element in pixel units relative to
     * the Blockly injection div.
     *
     * @returns The UI elements's bounding box. Null if bounding box should be
     *     ignored by other UI elements.
     */
    getBoundingRectangle(): Rect | null;
}
//# sourceMappingURL=i_positionable.d.ts.map