import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
import { BehaviorSubject } from 'rxjs';
import { QdSnackbarService } from '../services/snackbar.service';
import * as i0 from "@angular/core";
/**
 * Shows notifications as a snackbar.
 *
 * #### **Behavior**
 * - Appears in the bottom-right corner.
 * - Adapts to the QLS (e.g., stays above a PageFooter).
 * - Behavior is configurable via `snackbarOptions` (e.g., lifetime, close button, handlers).
 *
 * #### **Usage**
 * ```html
 *   <qd-shell [config]="shellConfig" qdSnackbarListener>
 * ```
 *
 * #### **Snackbar Configuration**
 * ```ts
 * {
 *   showAsSnackbar: true,
 *   snackbarOptions?: {
 *     ...
 *   }
 * }
 * ```
 */
export declare class QdNotificationsSnackbarListenerDirective implements OnInit, OnDestroy {
    private snackbarService;
    private hostRef;
    private overlay;
    private overlayPositionBuilder;
    private safeBottomOffset$;
    private _overlayRef;
    private _destroyed$;
    constructor(snackbarService: QdSnackbarService, hostRef: ElementRef<HTMLElement>, overlay: Overlay, overlayPositionBuilder: OverlayPositionBuilder, safeBottomOffset$: BehaviorSubject<number>);
    ngOnInit(): void;
    ngOnDestroy(): void;
    private initOverlay;
    private observeSafeBottomOffset;
    private bottomRightPositions;
    static ɵfac: i0.ɵɵFactoryDeclaration<QdNotificationsSnackbarListenerDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<QdNotificationsSnackbarListenerDirective, "[qdSnackbarListener]", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=snackbar-listener.directive.d.ts.map