/// import { Patch } from "immer"; import { ArgsToData, ArgTypes, UUID } from "./arg_types"; import { Plugin } from "./plugin"; import { Resource } from "./resource"; import { BaseSystemArgs, System } from "./system"; import { DefaultMap } from "./utils"; declare class AsyncSystemData { systems: DefaultMap; running?: boolean; }>>; done: Promise; } export declare const AsyncSystemResource: Resource; export interface AsyncSystemArgs extends BaseSystemArgs { step: (...args: ArgsToData) => Promise; exclusive?: boolean; skipIfApplyingPatches?: boolean; alwaysRunOnEvents?: boolean; } declare const OptionalStepEvent: import("nova_ecs/arg_modifier").ArgModifier | undefined>; export declare class AsyncSystem extends System<[typeof AsyncSystemResource, typeof UUID, typeof OptionalStepEvent, ...StepArgTypes]> { constructor(systemArgs: AsyncSystemArgs); } export declare const AsyncSystemPlugin: Plugin; export {};