/// import { ArgsToData, ArgTypes, GetEntity, UUID } from "./arg_types"; import { AsyncSystem } from "./async_system"; import { Component } from "./component"; import { EcsEvent } from "./events"; import { Plugin } from "./plugin"; import { Resource } from "./resource"; import { System, SystemArgs } from "./system"; import { DefaultMap } from "./utils"; export declare const ChangeEvents: DefaultMap, EcsEvent>; declare type Without = Pick>; declare type ProvideArgs = Without, 'step' | 'events'> & { provided: Component; factory: (...args: ArgsToData) => Data; update?: Iterable>; }; export declare function Provide({ name, provided, update, factory, args, before, after }: ProvideArgs): System | undefined>, typeof GetEntity, import("nova_ecs/arg_modifier").ArgModifier | undefined>, ...Args]>; declare type AsyncProviderData = Map>; declare type ProvideAsyncArgs = Without, 'step' | 'events'> & { provided: Component; factory: (...args: ArgsToData) => Data | Promise; update?: Iterable>; onError?: (err: Error) => void; }; export declare function ProvideAsync({ name, provided, update, factory, args, before, after, onError }: ProvideAsyncArgs): AsyncSystem | undefined>, Resource, typeof UUID, typeof GetEntity, import("nova_ecs/arg_modifier").ArgModifier | undefined>, ...Args]>; export declare const ProvidePlugin: Plugin; export {};