import type { Behavior, BehaviorPhase } from "./Behavior";
import type { BehaviorHost } from "./BehaviorHost";
export interface BehaviorError {
    readonly phase: BehaviorPhase;
    readonly behavior: Behavior;
    readonly error: unknown;
}
export interface BehaviorSystemUpdateOptions {
    readonly deltaSeconds?: number;
    readonly fixedDeltaSeconds?: number;
}
export declare class BehaviorSystem {
    readonly errors: BehaviorError[];
    private readonly hosts;
    private readonly started;
    private readonly services;
    registerHost(host: BehaviorHost): void;
    unregisterHost(host: BehaviorHost): void;
    setService(name: string, value: unknown): void;
    fixedUpdate(options?: BehaviorSystemUpdateOptions): Promise<void>;
    update(options?: BehaviorSystemUpdateOptions): Promise<void>;
    private runStart;
    private runPhase;
    private invoke;
}
//# sourceMappingURL=BehaviorSystem.d.ts.map