import { Type, ValueProvider, ɵComponentDef as ComponentDef } from "@angular/core"; import { CssSelector, CssSelectorList, TypedFactoryProvider, TypedValueProvider } from "../common-types"; export declare function isBrowser(): boolean; /** * Returns an elements root * @param {HTMLElement} elem The element which root we need * @return {DocumentOrShadowRoot} The document or the elements shadow root */ export declare function getRoot(elem: HTMLElement): DocumentOrShadowRoot; export declare function switchClass(elem: HTMLElement, className: string, status?: boolean): void; export declare function getCssVariables(elem: HTMLElement): Record; export declare function checkTransitions(el: HTMLElement, cb: () => any): void; export declare function getComponentDef(type: Type): ComponentDef; export declare function parseSelector(selector: string | CssSelector): CssSelector; export declare function selectorMatchesList(list: CssSelectorList, selector: CssSelector): boolean; export declare function provideEntryComponents(components: Type[], moduleId?: string): ValueProvider; export declare function provideOptions>(options: O): Required>; export declare function provideWithOptions, T = any>(type: Type, options: O): TypedFactoryProvider; export declare function injectOptions>(defaults: O): O; export interface DiffEntityResult { removed: T[]; added: T[]; updated: T[]; } /** * Compares two arrays of entities and categorizes them into * added, removed, and updated buckets. */ export declare function diffEntities(current: T[], incoming: T[]): DiffEntityResult;