/// <reference types="jquery" />
import { GridData, InitModelOf, LogicalGridLayout, Point, Predicate, Rectangle, Resizable, ResizableModel, Tile, TileGrid } from '..';
export declare class TileResizeHandler extends Resizable implements TileResizeHandlerModel {
    model: TileResizeHandlerModel;
    tileGrid: TileGrid;
    ignorer: (tile: Tile) => boolean;
    init(model: InitModelOf<TileResizeHandler>): void;
    get layout(): LogicalGridLayout;
    protected _computeBounds(event: JQuery.MouseMoveEvent): Rectangle;
    /**
     * @returns the logical bounds for the new range
     */
    protected _computeLogicalBounds(newBounds: Rectangle): Rectangle;
    /**
     * @returns the cell bounds for the cell that is on the other side of the dragged edge.
     */
    protected _findInitialCell(): Rectangle;
    /**
     * @returns the cell bounds at the given position
     */
    protected _findCell(position: Point): Rectangle;
    /**
     * @returns the position of the cursor relative to the given container
     */
    protected _relativeCursorPos($container: JQuery, event: JQuery.MouseEventBase): Point;
    protected _resizeEnd(): void;
    protected _computeGridData(resizedTile: Tile, logicalBounds: Rectangle): GridData;
    protected _moveTiles(resizedTile: Tile, gridData: GridData, logicalBounds: Rectangle): void;
    protected _moveOtherTilesExplicitly(resizedTile: Tile, gridData: GridData): void;
    /**
     * @returns the tile before the given position. Only tiles accepted by the filter are considered.
     */
    protected _findTileBefore(tiles: Tile[], position: Point, filter?: Predicate<Tile>): Tile;
}
export interface TileResizeHandlerModel extends ResizableModel {
    tileGrid: TileGrid;
    /**
     * A function that can return true for tiles that should be ignored when tiles are being moved down to make room for the resized tile.
     * This is typically used for placeholder tiles.
     *
     * @see tileUtil.moveOtherTilesDown
     */
    ignorer?: (tile: Tile) => boolean;
}
//# sourceMappingURL=TileResizeHandler.d.ts.map