import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import * as i0 from "@angular/core";
/**
* Directive that automatically resizes an element to fill its parent container.
* This directive calculates and sets dimensions based on the parent container's size,
* accounting for the element's position within the parent and any specified margins.
*
* It listens for window resize events and custom MJ application events to update dimensions.
* The directive is context-aware and will automatically skip resizing in certain conditions.
*
* @example
*
*
Content
*
*
*
* Content with margins
*
*/
export declare class FillContainer implements OnInit, OnDestroy {
private elementRef;
/** Whether to fill the parent's width. Default is true. */
fillWidth: boolean;
/** Whether to fill the parent's height. Default is true. */
fillHeight: boolean;
/** Right margin in pixels. Default is 0. */
rightMargin: number;
/** Bottom margin in pixels. Default is 0. */
bottomMargin: number;
/** Flag to globally disable resize functionality for all instances */
static DisableResize: boolean;
/** Flag to enable debug logging for resize operations */
static OutputDebugInfo: boolean;
/**
* Outputs a debug message if OutputDebugInfo is enabled
* @param message The message to output
*/
protected static OutputDebugMessage(message: string): void;
constructor(elementRef: ElementRef);
/** Debounce time for resize events during active resizing (milliseconds) */
private _resizeDebounceTime;
/** Debounce time for resize end events (milliseconds) */
private _resizeEndDebounceTime;
/** Subscription for resize end events */
private _resizeSubscription;
/** Subscription for immediate resize events */
private _resizeImmediateSubscription;
/**
* Initializes the directive, sets up resize event listeners and performs initial resize
*/
ngOnInit(): void;
/**
* Cleans up subscriptions when the directive is destroyed
*/
ngOnDestroy(): void;
/**
* Finds the nearest block-level parent element
* @param element The element to find the parent for
* @returns The parent element or null if none found
*/
protected getParent(element: HTMLElement): HTMLElement | null;
/**
* Performs the actual resize calculation and applies dimensions to the element
*/
protected resizeElement(): void;
/**
* Determines if resizing should be skipped for this element
* @param el The element to check
* @returns True if resizing should be skipped, false otherwise
*/
protected shouldSkipResize(el: HTMLElement): boolean;
/**
* Checks if element is below a hidden tab
* @param element The element to check
* @returns True if element is below a hidden tab, false otherwise
*/
protected elementBelowHiddenTab(element: HTMLElement): boolean;
/**
* Checks if element is within a grid
* @param element The element to check
* @returns True if element is within a grid, false otherwise
*/
protected elementWithinGrid(element: HTMLElement): boolean;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}
//# sourceMappingURL=ng-fill-container-directive.d.ts.map