import { HoistModel, BoxProps, HoistProps } from '@xh/hoist/core'; import './TileFrame.scss'; export interface TileFrameProps extends HoistProps, BoxProps { /** * Desired tile width / height ratio (i.e. desiredRatio: 2 == twice as wide as tall). * The container will strive to meet this ratio, but the final ratio may vary. * Defaults to 1 (i.e. square tiles) */ desiredRatio?: number; /** The space between tiles (in px) */ spacing?: number; /** Min tile width (in px). */ minTileWidth?: number; /** Max tile width (in px). */ maxTileWidth?: number; /** Min tile height (in px).*/ minTileHeight?: number; /** Max tile height (in px).*/ maxTileHeight?: number; /** Callback triggered when the layout configuration changes.*/ onLayoutChange?: (layout: { rows: number; cols: number; tileWidth: number; tileHeight: number; }) => any; } /** * This component renders its children as equally-sized tiles, resized and arranged to fill the * available space within the container while maintaining even padding between tiles and keeping * tile width / height as close to a specified ratio as possible. * * Supports a number of optional constraints on tile dimensions that can be used to produce more * stable layouts. These should be used judiciously, however, as each constraint limits the ability * of the TileFrame to fill its available space. */ export declare const TileFrame: import("react").FC>, tileFrame: import("@xh/hoist/core").ElementFactory>;