import * as Component from './Component'; import * as Context from './Context'; import { CommandBus } from './CommandBus'; import { QueryBus } from './QueryBus'; import { EventBus } from './EventBus'; import { StateBus } from './StateBus'; import * as StateAble from './StateAble'; export interface argv { _: Array; config?: string; env?: string; dump?: boolean; } export interface props { name: string; root?: string; config?: string; argv?: Array; } interface RecordMap { [name: string]: T; } declare type SlotConfig = string | { path: string; context?: Context.Context; slot?: string; as?: string; props?: any; }; export declare class Process extends Component.Component { protected root: string; protected configFile: string; protected contextsProps: Map; protected contexts: Map; readonly vars: Map; readonly argv: argv; constructor(props: props); protected loadConstants(): void; start(): Promise; protected loadConfig(): Promise; protected setDefaultContextHandlersProps(props: Context.ContextProps): void; protected loadContexts(): void; protected getContextManagers(context: Context.ContextProps, managersProps: RecordMap): Map; protected getContextServices(context: Context.ContextProps, servicesProps: RecordMap): Map; protected getContextViews(context: Context.ContextProps, viewsProps: RecordMap): Map; protected getContextTriggers(context: Context.ContextProps, triggersProps: RecordMap): Map; protected getCommandBuses(fromContext: string, name: string, targets: Array, extra?: any): RecordMap; protected getQueryBuses(fromContext: string, name: string, views: Array, extra?: any): RecordMap; protected getEventBuses(fromContext: string, name: string, streams: Array, extra?: any): RecordMap; protected getBuses(busType: string, from: string, name: string, slots: Array, extra?: any): RecordMap; protected getBusPathContext(path: string, defaultContextName: string): { context: Context.ContextProps | { name: string; }; as: string; slot: string; }; protected getCommandBus(props: any, contextName: string, channel: string): CommandBus; protected getQueryBus(props: any, contextName: string, view: string): QueryBus; protected getEventBus(props: any, contextName: string, category: string): EventBus; protected getStateBus(props: any, contextName: string, type: string): StateBus; protected getRepositories(contextName: string, name: string, repositories: Array, extra: any): StateAble.Repositories; protected parseRepository(path: string | any): { context: string; name: string; props: {}; }; getTypes(contextName: string, category: string, kind?: string): any; protected getCommandHandlers(contextName: string, name: string, props: any): { commandHandlers: any; }; protected getDomainHandlers(contextName: string, name: string, props: any): { domainHandlers: any; }; protected getQueryHandlers(contextName: string, name: string, props: any): { queryHandlers: any; }; protected getUpdateHandlers(contextName: string, name: string, props: any): { updateHandlers: any; }; protected getTriggerHandlers(contextName: string, name: string, props: any): { triggerHandlers: any; partition: any; }; protected startComponents(): Promise; protected catchErrors(): void; stop(): Promise; } export {};