import { TParamsFromConfig, TReactiveFactory } from '../../Abstract'; import { TActorService } from '../../Actor'; import { TCameraService } from '../../Camera'; import { TLoopService } from '../../Loop'; import { TMouseService } from '../../Mouse'; import { TAnyIntersectionsWatcher } from './TAnyIntersectionsWatcher'; import { TAnyIntersectionsWatcherConfig } from './TAnyIntersectionsWatcherConfig'; import { TAnyIntersectionsWatcherParams } from './TAnyIntersectionsWatcherParams'; export type TIntersectionsWatcherParamsFromConfig = Omit, 'configToParams'> & Readonly<{ configToParams: (config: TAnyIntersectionsWatcherConfig, mouseService: TMouseService, cameraService: TCameraService, actorsService: TActorService, loopService: TLoopService) => TAnyIntersectionsWatcherParams; }>; export type TIntersectionsWatcherFactory = TReactiveFactory & TIntersectionsWatcherParamsFromConfig;