import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core'; import { ConnectedPosition, ViewportRuler } from '@angular/cdk/overlay'; import { Directionality } from '@angular/cdk/bidi'; import { Observable } from 'rxjs'; import { NgxMatSelectViewType } from '../../select-model'; import * as i0 from "@angular/core"; export declare class NgxMatSelectPanelComponent implements OnDestroy, OnInit, AfterViewInit { private dir; private changeDetectorRef; private viewportRuler; /** * the overlay API that will be appended into the DOM's body * @private */ private overlay; /** * it raises an event before the panel gets close * */ beforeClose: EventEmitter; /** * it raises an event after the panel gets close * */ afterClose: EventEmitter; /** * it raises an event after the panel gets open * */ afterOpen: EventEmitter; /** * it raises an event before the panel gets open * */ beforeOpen: EventEmitter; /** * if it's true it shows a back-drop behind the panel */ hasBackdrop: boolean; /** * if it's true the panel does not open */ disabled: boolean; /** * the specific theme selected form the form-field */ theme?: string; /** Class or list of classes to be applied to the menu's overlay panel. */ get overlayClass(): string | string[]; set overlayClass(value: string | string[]); _overlayClass: string; /** Classes to be passed to the select panel. Supports the same syntax as `ngClass`. */ panelClass: string | string[] | Set | { [key: string]: any; }; /** * the origin element that we want to connect it with the panel */ get connectedOverlayOrigin(): ElementRef; set connectedOverlayOrigin(value: ElementRef); _connectedOverlayOrigin: ElementRef; /** * the width of the panel */ get width(): string | number | null | undefined; set width(value: string | number | null | undefined); private _width; /** * the height of the panel */ height: number | null | undefined; get viewType(): NgxMatSelectViewType | undefined | null; /** * how to show the panel, it can be 'BottomSheet', 'FullScreen' and 'Default' * @param value */ set viewType(value: NgxMatSelectViewType | undefined | null); private _viewType; overlayClassViewType: string; /** * we can open and close the panel just with changing this state */ isOpen$: Observable; _panelWidth: string | number; _positions: ConnectedPosition[]; /** * an observable to manage destroying the other observables * @private */ private destroy$; /** * a subject to control the opening of the panel with it * @private */ private isOpen$$; constructor(dir: Directionality, changeDetectorRef: ChangeDetectorRef, viewportRuler: ViewportRuler); ngOnInit(): void; get isOpen(): boolean; ngAfterViewInit(): void; /** * whenever we want to update the position of the panel due to the position changes in the trigger origin element * we should call this method */ updatePosition(): void; /** * to close the panel * @param event */ onOutsideClick(event: MouseEvent): void; /** * to open the panel */ open(): void; /** * to close the panel */ close(): void; onOverlayKeyDown(event: KeyboardEvent): void; /** sets how wide the overlay panel should be. */ updateOverlayWidth(): void; ngOnDestroy(): void; /** * to sync the direction of the overlay with the body direction * @private */ private syncDirection; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }