import { TriggerDescription } from "./EntityTypeComponentSetUtilities";
import EntityTypeDefinition from "./EntityTypeDefinition";
import IEntityTypeState, { IEntityStateConnection } from "./IEntityTypeState";
import IManagedComponentSetItem from "./IManagedComponentSetItem";
import ManagedEventActionOrActionSet from "./ManagedEventActionOrActionSet";
export declare const MaxStatesToProcess = 1024;
declare class EntityTypeStateBuilderContext {
    entityType: EntityTypeDefinition;
    baseTriggers: TriggerDescription[];
    eventsById: {
        [eventId: string]: ManagedEventActionOrActionSet;
    };
    states: Map<string, IEntityTypeState>;
    constructor(entityTypeParent: EntityTypeDefinition);
}
export declare class EntityTypeStateBuilder {
    static getStates(entityType: EntityTypeDefinition): Promise<Map<string, IEntityTypeState>>;
    static removeGroupInArray(arr: string[], groupId: string): string[];
    static considerState(context: EntityTypeStateBuilderContext, componentSet: IManagedComponentSetItem, cgAddsRemoveList: string[], inboundConnection?: IEntityStateConnection): Promise<void>;
}
export {};
