blob: dfa6d25bb175615407cc251a841aa757f97437e5 [file] [log] [blame]
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
import { Portal } from '@angular/cdk/portal';
import { Direction, Directionality } from '@angular/cdk/bidi';
/**
* Basic interface for an overlay. Used to avoid circular type references between
* `OverlayRef`, `PositionStrategy` and `ScrollStrategy`, and `OverlayConfig`.
* @docs-private
*/
export interface OverlayReference {
attach: (portal: Portal<any>) => any;
detach: () => any;
dispose: () => void;
overlayElement: HTMLElement;
hostElement: HTMLElement;
getConfig: () => any;
hasAttached: () => boolean;
updateSize: (config: any) => void;
updatePosition: () => void;
getDirection: () => Direction;
setDirection: (dir: Direction | Directionality) => void;
}