import { Subject } from 'rxjs'; import { GasPositioning } from '../../utils/gas-positioning/gas-positioning.namespace'; export declare namespace GasPositioningPopup { type AlignType = 'auto' | 'fixed'; const ESCAPE_KEY = "Escape"; interface Config { /** Offset при установке позиций, для "двойных" позиций будет прибавляться к обоим */ offset?: number; /** Ширина "стрелочки", нужно для попапов, в которых есть стрелочка с указанием откуда кликнули */ arrowWidth?: number; /** При установке динамической директивы навешивается класс, его можно поменять */ className?: string; /** Список направлений по которым будет показан popup */ preferablePositions?: GasPositioning.Direction[] | GasPositioning.DirectionType[] | string[]; /** Тип выравнивания * auto - Двигает элемент если не влезает в одну из сторон * fixed - Направление будет не изменено, даже если не влезает */ alignType?: GasPositioning.AlignType; /** Передаем компонент, который будет создан */ component?: any; /** Закрывать popup по клику вне элемента */ isCloseByClickOutside?: boolean; /** Payload, суда передаем инпуты, которые хотим передать в компонент */ props?: Partial; /** Показывать и скрывать компонент по hover/blur */ isHoverable?: boolean; /** Показывать и скрывать компонент по вводу данных с клавиатуры */ isInputOpen?: boolean; /** Передаем кастомные элементы скролла, на которые хотим позиционировать * по умолчанию только относительно window позиционируется */ scrollElement?(): HTMLElement; disabled?: boolean; /** Сабжект на закрытие popup */ closeSubject$?: Subject; } }