/** * @license * Copyright 2023 Google LLC * SPDX-License-Identifier: Apache-2.0 */ export interface IHasBubble { /** @returns True if the bubble is currently open, false otherwise. */ bubbleIsVisible(): boolean; /** Sets whether the bubble is open or not. */ setBubbleVisible(visible: boolean): void; } /** Type guard that checks whether the given object is a IHasBubble. */ export function hasBubble(obj: any): obj is IHasBubble { return ( obj.bubbleIsVisible !== undefined && obj.setBubbleVisible !== undefined ); }