/** * @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 { ElementRef, InjectionToken, OnDestroy, OnInit, QueryList } from '@angular/core'; /** * Item inside a tab header relative to which the ink bar can be aligned. * @docs-private */ export interface MatInkBarItem extends OnInit, OnDestroy { elementRef: ElementRef; activateInkBar(previousIndicatorClientRect?: ClientRect): void; deactivateInkBar(): void; fitInkBarToContent: boolean; } /** * Abstraction around the MDC tab indicator that acts as the tab header's ink bar. * @docs-private */ export declare class OuiInkBar { private _items; /** Item to which the ink bar is aligned currently. */ private _currentItem; constructor(_items: QueryList); /** Hides the ink bar. */ hide(): void; /** Aligns the ink bar to a DOM node. */ alignToElement(element: HTMLElement): void; } /** * Mixin that can be used to apply the `MatInkBarItem` behavior to a class. * Base on MDC's `MDCSlidingTabIndicatorFoundation`: * https://github.com/material-components/material-components-web/blob/c0a11ef0d000a098fd0c372be8f12d6a99302855/packages/mdc-tab-indicator/sliding-foundation.ts * @docs-private */ export declare function mixinInkBarItem { elementRef: ElementRef; }>(base: T): T & (new (...args: any[]) => MatInkBarItem); /** * Interface for a OuiInkBar positioner method, defining the positioning and width of the ink * bar in a set of tabs. */ export interface _OuiInkBarPositioner { (element: HTMLElement): { left: string; width: string; }; } /** * The default positioner function for the OuiInkBar. * @docs-private */ export declare function _OUI_INK_BAR_POSITIONER_FACTORY(): _OuiInkBarPositioner; /** Injection token for the OuiInkBar's Positioner. */ export declare const _OUI_INK_BAR_POSITIONER: InjectionToken<_OuiInkBarPositioner>; //# sourceMappingURL=ink-bar.d.ts.map