/** @packageDocumentation * @module Zone */ import { RectangleProps } from "@bentley/ui-core"; import { WidgetZoneId, ZonesManager, ZonesManagerProps } from "./Zones"; /** @internal */ export declare const RECTANGULAR_DEFAULT_MIN_HEIGHT = 220; /** @internal */ export declare const RECTANGULAR_DEFAULT_MIN_WIDTH = 296; /** @internal */ export interface ResizeStrategy { getMaxResize(zoneId: WidgetZoneId, props: ZonesManagerProps): number; tryResize(zoneId: WidgetZoneId, resizeBy: number, props: ZonesManagerProps): ZonesManagerProps; tryResizeFloating(zoneId: WidgetZoneId, resizeBy: number, props: ZonesManagerProps): ZonesManagerProps; } /** @internal */ export declare abstract class GrowStrategy implements ResizeStrategy { readonly manager: ZonesManager; abstract getZonesToShrink(zoneId: WidgetZoneId, props: ZonesManagerProps): WidgetZoneId[]; abstract getDistanceToRoot(bounds: RectangleProps, zonesBounds: RectangleProps): number; abstract getDistanceToZoneToShrink(zoneId: WidgetZoneId, zoneToShrinkId: WidgetZoneId, props: ZonesManagerProps): number; abstract getShrinkStrategy(): ResizeStrategy; abstract resize(bounds: RectangleProps, growBy: number): RectangleProps; getMaxResize(zoneId: WidgetZoneId, props: ZonesManagerProps): number; tryResize(zoneId: WidgetZoneId, resizeBy: number, props: ZonesManagerProps): ZonesManagerProps; tryResizeFloating(zoneId: WidgetZoneId, resizeBy: number, props: ZonesManagerProps): ZonesManagerProps; constructor(manager: ZonesManager); } /** @internal */ export declare class GrowTop extends GrowStrategy { getZonesToShrink(zoneId: WidgetZoneId, props: ZonesManagerProps): WidgetZoneId[]; getDistanceToRoot(bounds: RectangleProps): number; getDistanceToZoneToShrink(zoneId: WidgetZoneId, zoneToShrinkId: WidgetZoneId, props: ZonesManagerProps): number; getShrinkStrategy(): UpdateWindowResizeSettings; resize(bounds: RectangleProps, growBy: number): RectangleProps; } /** @internal */ export declare class GrowBottom extends GrowStrategy { getZonesToShrink(zoneId: WidgetZoneId, props: ZonesManagerProps): WidgetZoneId[]; getDistanceToRoot(bounds: RectangleProps, zonesBounds: RectangleProps): number; getDistanceToZoneToShrink(zoneId: WidgetZoneId, zoneToShrinkId: WidgetZoneId, props: ZonesManagerProps): number; getShrinkStrategy(): UpdateWindowResizeSettings; resize(bounds: RectangleProps, growBy: number): RectangleProps; } /** @internal */ export declare class GrowLeft extends GrowStrategy { getZonesToShrink(zoneId: WidgetZoneId, props: ZonesManagerProps): WidgetZoneId[]; getMaxResize(zoneId: WidgetZoneId, props: ZonesManagerProps): number; getDistanceToRoot(bounds: RectangleProps): number; getDistanceToZoneToShrink(zoneId: WidgetZoneId, zoneToShrinkId: WidgetZoneId, props: ZonesManagerProps): number; getShrinkStrategy(): UpdateWindowResizeSettings; resize(bounds: RectangleProps, growBy: number): RectangleProps; } /** @internal */ export declare class GrowRight extends GrowStrategy { getZonesToShrink(zoneId: WidgetZoneId, props: ZonesManagerProps): WidgetZoneId[]; getMaxResize(zoneId: WidgetZoneId, props: ZonesManagerProps): number; getDistanceToRoot(bounds: RectangleProps, zonesBounds: RectangleProps): number; getDistanceToZoneToShrink(zoneId: WidgetZoneId, zoneToShrinkId: WidgetZoneId, props: ZonesManagerProps): number; getShrinkStrategy(): UpdateWindowResizeSettings; resize(bounds: RectangleProps, growBy: number): RectangleProps; } /** @internal */ export declare abstract class ShrinkStrategy implements ResizeStrategy { readonly manager: ZonesManager; abstract getDistanceToRoot(bounds: RectangleProps, zonesBounds: RectangleProps): number; abstract getDistanceToZoneToShrink(zoneId: WidgetZoneId, zoneToShrinkId: WidgetZoneId, props: ZonesManagerProps): number; abstract getZonesToShrink(zoneId: WidgetZoneId, props: ZonesManagerProps): WidgetZoneId[]; abstract getShrinkStrategy(): ResizeStrategy; abstract getMinSize(): number; abstract getCurrentSize(bounds: RectangleProps): number; abstract resize(bounds: RectangleProps, shrinkBy: number, moveBy: number): RectangleProps; constructor(manager: ZonesManager); getMaxResize(zoneId: WidgetZoneId, props: ZonesManagerProps): number; tryResize(zoneId: WidgetZoneId, resizeBy: number, props: ZonesManagerProps): ZonesManagerProps; tryResizeFloating(zoneId: WidgetZoneId, resizeBy: number, props: ZonesManagerProps): { zones: { 1: import("./Zone").ZoneManagerProps; 2: import("./Zone").ZoneManagerProps; 3: import("./Zone").ZoneManagerProps; 4: import("./Zone").ZoneManagerProps; 6: import("./Zone").ZoneManagerProps; 7: import("./Zone").ZoneManagerProps; 8: import("./Zone").ZoneManagerProps; 9: import("./Zone").ZoneManagerProps; }; draggedWidget?: import("./Widget").DraggedWidgetManagerProps | undefined; isInFooterMode: boolean; target?: import("./Zones").ZonesManagerTargetProps | undefined; widgets: import("./Zones").ZonesManagerWidgetsProps; zonesBounds: RectangleProps; floatingZonesBounds?: RectangleProps | undefined; }; getMaxShrinkSelfBy(bounds: RectangleProps): number; } /** @internal */ export declare abstract class ShrinkVerticalStrategy extends ShrinkStrategy { getMinSize(): number; getCurrentSize(bounds: RectangleProps): number; } /** @internal */ export declare abstract class ShrinkHorizontalStrategy extends ShrinkStrategy { getMinSize(): number; getCurrentSize(bounds: RectangleProps): number; } /** @internal */ export declare class ShrinkTop extends ShrinkVerticalStrategy { getZonesToShrink(zoneId: WidgetZoneId, props: ZonesManagerProps): WidgetZoneId[]; getDistanceToRoot(bounds: RectangleProps, zonesBounds: RectangleProps): number; getDistanceToZoneToShrink(zoneId: WidgetZoneId, zoneToShrinkId: WidgetZoneId, props: ZonesManagerProps): number; getShrinkStrategy(): UpdateWindowResizeSettings; resize(bounds: RectangleProps, shrinkBy: number, moveBy: number): RectangleProps; } /** @internal */ export declare class ShrinkBottom extends ShrinkVerticalStrategy { getZonesToShrink(zoneId: WidgetZoneId, props: ZonesManagerProps): WidgetZoneId[]; getDistanceToRoot(bounds: RectangleProps): number; getDistanceToZoneToShrink(zoneId: WidgetZoneId, zoneToShrinkId: WidgetZoneId, props: ZonesManagerProps): number; getShrinkStrategy(): UpdateWindowResizeSettings; resize(bounds: RectangleProps, shrinkBy: number, moveBy: number): RectangleProps; } /** @internal */ export declare class ShrinkLeft extends ShrinkHorizontalStrategy { getZonesToShrink(zoneId: WidgetZoneId, props: ZonesManagerProps): WidgetZoneId[]; getDistanceToRoot(bounds: RectangleProps, zonesBounds: RectangleProps): number; getDistanceToZoneToShrink(zoneId: WidgetZoneId, zoneToShrinkId: WidgetZoneId, props: ZonesManagerProps): number; getShrinkStrategy(): UpdateWindowResizeSettings; resize(bounds: RectangleProps, shrinkBy: number, moveBy: number): RectangleProps; } /** @internal */ export declare class ShrinkRight extends ShrinkHorizontalStrategy { getZonesToShrink(zoneId: WidgetZoneId, props: ZonesManagerProps): WidgetZoneId[]; getDistanceToRoot(bounds: RectangleProps): number; getDistanceToZoneToShrink(zoneId: WidgetZoneId, zoneToShrinkId: WidgetZoneId, props: ZonesManagerProps): number; getShrinkStrategy(): UpdateWindowResizeSettings; resize(bounds: RectangleProps, shrinkBy: number, moveBy: number): RectangleProps; } /** @internal */ export declare class UpdateWindowResizeSettings implements ResizeStrategy { readonly manager: ZonesManager; readonly resizeStrategy: ResizeStrategy; constructor(manager: ZonesManager, resizeStrategy: ResizeStrategy); getMaxResize(zoneId: WidgetZoneId, props: ZonesManagerProps): number; tryResizeFloating(zoneId: WidgetZoneId, resizeBy: number, props: ZonesManagerProps): ZonesManagerProps; tryResize(zoneId: WidgetZoneId, resizeBy: number, props: ZonesManagerProps): ZonesManagerProps; } //# sourceMappingURL=ResizeStrategy.d.ts.map