1 | /**
|
---|
2 | * @license
|
---|
3 | * Copyright Google LLC All Rights Reserved.
|
---|
4 | *
|
---|
5 | * Use of this source code is governed by an MIT-style license that can be
|
---|
6 | * found in the LICENSE file at https://angular.io/license
|
---|
7 | */
|
---|
8 | import { Portal } from '@angular/cdk/portal';
|
---|
9 | import { Direction, Directionality } from '@angular/cdk/bidi';
|
---|
10 | import { Observable, Subject } from 'rxjs';
|
---|
11 | /**
|
---|
12 | * Basic interface for an overlay. Used to avoid circular type references between
|
---|
13 | * `OverlayRef`, `PositionStrategy` and `ScrollStrategy`, and `OverlayConfig`.
|
---|
14 | * @docs-private
|
---|
15 | */
|
---|
16 | export interface OverlayReference {
|
---|
17 | attach: (portal: Portal<any>) => any;
|
---|
18 | detach: () => any;
|
---|
19 | dispose: () => void;
|
---|
20 | overlayElement: HTMLElement;
|
---|
21 | hostElement: HTMLElement;
|
---|
22 | backdropElement: HTMLElement | null;
|
---|
23 | getConfig: () => any;
|
---|
24 | hasAttached: () => boolean;
|
---|
25 | updateSize: (config: any) => void;
|
---|
26 | updatePosition: () => void;
|
---|
27 | getDirection: () => Direction;
|
---|
28 | setDirection: (dir: Direction | Directionality) => void;
|
---|
29 | backdropClick: () => Observable<MouseEvent>;
|
---|
30 | attachments: () => Observable<void>;
|
---|
31 | detachments: () => Observable<void>;
|
---|
32 | keydownEvents: () => Observable<KeyboardEvent>;
|
---|
33 | outsidePointerEvents: () => Observable<MouseEvent>;
|
---|
34 | addPanelClass: (classes: string | string[]) => void;
|
---|
35 | removePanelClass: (classes: string | string[]) => void;
|
---|
36 | readonly _outsidePointerEvents: Subject<MouseEvent>;
|
---|
37 | readonly _keydownEvents: Subject<KeyboardEvent>;
|
---|
38 | }
|
---|