import { ApplicationRef, ComponentFactoryResolver, ElementRef, Injector, OnDestroy, OnInit } from '@angular/core';
import { TsWindowService } from '@terminus/ngx-tools/browser';
/**
* The tsLoadingOverlay UI Directive.
* Provides a spinner overlay to demonstrate loading for async data.
*
* @example
*
*
* https://getterminus.github.io/ui-demos-release/components/loading-overlay
*/
export declare class TsLoadingOverlayDirective implements OnInit, OnDestroy {
private elementRef;
private windowService;
private componentFactoryResolver;
private appRef;
private injector;
/**
* A reference to the portal
*/
private readonly loadingOverlayPortal;
/**
* Reference to our portal host
*/
private readonly bodyPortalHost;
/**
* Define a setter to show/hide the loading overlay
*
* @param value
*/
set tsLoadingOverlay(value: boolean);
/**
* Alias the position back onto the component as a style attribute
*/
position: string;
constructor(elementRef: ElementRef, windowService: TsWindowService, componentFactoryResolver: ComponentFactoryResolver, appRef: ApplicationRef, injector: Injector);
/**
* Determine and set the needed position
*/
ngOnInit(): void;
/**
* Destroy the portal host if it exists
*/
ngOnDestroy(): void;
/**
* Return the correct position
*
* @param position - The current position value
* @returns The correct position value
*/
private determinePosition;
}