/// import { Store as RefluxStore } from 'reflux'; import EventEmitter from 'eventemitter3'; import { Actions } from './actions'; interface Role { name: string; component: React.JSXElementConstructor; order?: number; } interface Store extends RefluxStore { onActivated?: (appRegistry: AppRegistry) => void; } export declare class AppRegistry { _emitter: EventEmitter; actions: Record; components: Record>; stores: Record; roles: Record; storeMisses: Record; constructor(); static get Actions(): typeof Actions; static get AppRegistry(): typeof AppRegistry; deregisterAction(name: string): this; deregisterComponent(name: string): this; deregisterRole(name: string, object: Role): this; deregisterStore(name: string): this; getAction(name: string): unknown; getComponent(name: string): React.JSXElementConstructor | undefined; getRole(name: string): Role[] | undefined; getStore(name: string): Store; onActivated(): this; registerAction(name: string, action: unknown): this; registerComponent(name: string, component: React.JSXElementConstructor): this; registerRole(name: string, role: Role): this; registerStore(name: string, store: Store): this; addListener(eventName: string, listener: (...args: any[]) => void): this; emit(eventName: string, ...args: any[]): boolean; eventNames(): string[]; listenerCount(eventName: string): number; listeners(eventName: string): ((...args: any[]) => void)[]; on(eventName: string, listener: (...args: any[]) => void): this; once(eventName: string, listener: (...args: any[]) => void): this; removeListener(eventName: string, listener: (...args: any[]) => void): this; removeAllListeners(eventName: string): this; _callOnStores(fn: (store: Store) => void): this; _roleComparator(a: Role, b: Role): number; } export {};