import { TAbstractService } from '../../Abstract'; import { Observable } from 'rxjs'; import { Vector2Like } from 'three'; import { TMouseClickWatcherFactory } from './TMouseClickWatcherFactory'; import { TMouseClickWatcherRegistry } from './TMouseClickWatcherRegistry'; import { TMousePositionWatcherFactory } from './TMousePositionWatcherFactory'; import { TMousePositionWatcherRegistry } from './TMousePositionWatcherRegistry'; import { TMouseWatcherEvent } from './TMouseWatcherEvent'; export type TMouseService = TAbstractService & Readonly<{ clickPress$: Observable; clickLeftPress$: Observable; clickRightPress$: Observable; clickMiddlePress$: Observable; clickBackPress$: Observable; clickForwardPress$: Observable; clickExtraPress$: Observable; clickRelease$: Observable; clickLeftRelease$: Observable; clickRightRelease$: Observable; clickMiddleRelease$: Observable; clickBackRelease$: Observable; clickForwardRelease$: Observable; clickExtraRelease$: Observable; isLeftPressed$: Observable; isRightPressed$: Observable; isMiddlePressed$: Observable; isBackPressed$: Observable; isForwardPressed$: Observable; isExtraPressed$: Observable; doubleClick$: Observable; doubleLeftClick$: Observable; doubleRightClick$: Observable; wheel$: Observable; wheelUp$: Observable; wheelDown$: Observable; position$: Observable; normalizedPosition$: Observable; getMouseClickWatcherRegistry: () => TMouseClickWatcherRegistry; getMouseClickWatcherFactory: () => TMouseClickWatcherFactory; getMousePositionWatcherRegistry: () => TMousePositionWatcherRegistry; getMousePositionWatcherFactory: () => TMousePositionWatcherFactory; }>;