import type { AnyEventMap } from '../../event/types/event-map.type'; import type { AnyList } from '../../utils/types/utility.type'; import type { UsecaseSymbolEventMap } from '../types/usecase-symbol-event.type'; import type { UsecaseSymbolModel } from '../types/usecase-symbol-model.interface'; /** * Disptaches Target Symbol event. * * @param symbol Target symbol. may be one of the following: Actor, * Role, Usecase, Goal, Boundary * @param type Event type * @param args Parameters of the dispatched event. */ export declare function emitSymbolEvent, Type extends keyof UsecaseSymbolEventMap, Params extends UsecaseSymbolEventMap[Type]>(symbol: Source, type: Type, ...args: Params extends AnyList ? [...Params] : []): void;