import { ClassConstructor } from 'class-transformer'; import { Optional } from '../../common'; import { CommandBus, EventBus } from '@nestjs/cqrs'; import { DeviceModel } from './devices.model'; import { Device } from './device'; import { DeviceStatesType } from './devices.types'; export type GroupMatcher = RegExp | RegExp[] | true; export type GroupMatchers = Record; export type CategoryMatchers = Record; export type FactoryType = { create: (device: DeviceModel, eventaBus: EventBus, commandBus: CommandBus) => Optional>; }; export declare class DeviceFactory, TStates extends DeviceStatesType> { private readonly typeConstructor; private readonly matchers; private static factories; constructor(typeConstructor: ClassConstructor, matchers: CategoryMatchers); create(device: DeviceModel, eventBus: EventBus, commandBus: CommandBus): Optional; } //# sourceMappingURL=device.factory.d.ts.map