import { type AbstractType, type ExistingProvider, type FactoryProvider, type Type } from '@angular/core'; import { type TuiPoint } from '@taiga-ui/core/types'; export declare abstract class TuiAccessor { abstract readonly type: string; } export declare abstract class TuiPositionAccessor extends TuiAccessor { abstract getPosition(rect: DOMRect): TuiPoint; } export declare abstract class TuiRectAccessor extends TuiAccessor { abstract getClientRect(): DOMRect; } export declare function tuiInjectAccessor(accessor: AbstractType, type: string): T; /** TODO: drop fallback in v6 */ export declare function tuiProvideAccessor(provide: AbstractType, type: string, fallback?: Type): FactoryProvider; /** @deprecated */ export declare function tuiFallbackAccessor(type: string): (accessors: readonly T[] | null, fallback: Omit) => T; /** @deprecated */ export declare function tuiPositionAccessorFor(type: string, fallback: Type): FactoryProvider; /** @deprecated */ export declare function tuiRectAccessorFor(type: string, fallback: Type): FactoryProvider; export declare function tuiAsPositionAccessor(accessor: Type): ExistingProvider; export declare function tuiAsRectAccessor(accessor: Type): ExistingProvider;