import * as Component from './Component'; import * as Context from './Context'; import { CommandBus } from './CommandBus'; import { RpcBus } from './RpcBus'; import { EventBus } from './EventBus'; import { StateBus } from './StateBus'; import * as Repository from './Repository'; import * as StateAble from './StateAble'; export interface argv { _: Array; config?: string; env?: string; dump?: boolean; test?: 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; readonly isTestMode: boolean; constructor(props: props); protected loadConstants(): void; start(): Promise; protected loadConfig(): Promise; protected setDefaultContextHandlersProps(props: Context.ContextProps): void; protected loadContexts(): void; protected loadTestContexts(): void; protected getContextAggregates(context: Context.ContextProps, aggregatesProps: RecordMap): Map; protected getTestContextAggregates(context: Context.ContextProps, aggregatesProps: 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, commands: Array, extra?: any): RecordMap; protected getRpcBuses(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 getRpcBus(props: any, contextName: string, view: string): RpcBus; 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, mustBeLocated?: boolean): any; protected getCommandHandlers(contextName: string, name: string, props: any): { commandHandlers: any; }; protected getDomainHandlers(contextName: string, name: string, props: any): { domainHandlers: any; version: any; }; protected getDomainHandlersVersion(domainHandlers: Repository.Domain.Handlers): string; protected getUpdateHandlers(contextName: string, name: string, props: any): { updateHandlers?: undefined; } | { updateHandlers: any; }; protected getQueryHandlers(contextName: string, name: string, props: any): { queryHandlers?: undefined; } | { queryHandlers: any; }; protected getRequestHandlers(contextName: string, name: string, props: any): { requestHandlers?: undefined; } | { requestHandlers: any; }; protected getTriggerHandlers(contextName: string, name: string, props: any): { triggerHandlers: any; partition: any; }; protected getCommandTesters(contextName: string, name: string, props: any): any; protected startComponents(): Promise; protected startComponent(component: Component.Component): Promise; protected catchErrors(): void; runTests(): Promise; stop(): Promise; } export {};