import IEntityAction from "./IEventAction";
import IEntityActionSet from "./IEventActionSet";
import { MinecraftFilterClauseSet } from "./jsoncommon/MinecraftFilterClauseSet";
export interface IPotentialAction {
    conditionDescription: string;
    action: ManagedEventActionOrActionSet;
}
export default class ManagedEventActionOrActionSet {
    _data?: IEntityAction | IEntityActionSet;
    get data(): IEntityAction | IEntityActionSet;
    get addGroups(): string[];
    get removeGroups(): string[];
    constructor(data: IEntityAction);
    toString(): string;
    get filters(): MinecraftFilterClauseSet | undefined;
    set filters(newFilters: MinecraftFilterClauseSet | undefined);
    removeAddRemove(): void;
    removeCommand(): void;
    removeSound(): void;
    removeVibration(): void;
    removeParticle(): void;
    removeTrigger(): void;
    get hasAddRemove(): string[];
    get hasCommand(): boolean;
    get sound(): string | undefined;
    get hasSound(): boolean;
    get vibration(): string;
    get hasVibration(): boolean;
    get particle(): string;
    get hasParticle(): boolean;
    get trigger(): string | import("./IEntityTrigger").IEntityTrigger;
    get hasTrigger(): boolean;
    get command(): string;
    ensureCommand(commandStr?: string): import("./IEventAction").IQueueCommand;
    ensureSound(newSound?: string): import("./IEventAction").IPlaySound;
    ensureVibration(newVibration?: string): import("./IEventAction").IEmitVibration;
    get randomize(): ManagedEventActionOrActionSet[];
    get weight(): number;
    get sequence(): ManagedEventActionOrActionSet[];
    ensureTrigger(newTrigger?: string): string | import("./IEntityTrigger").IEntityTrigger;
    getPotentialActions(conditionSeed?: string): IPotentialAction[];
    ensureParticle(newParticle?: string): import("./IEventAction").IEmitParticle;
    ensureAddRemove(): void;
    hasAddComponentGroup(id: string): boolean;
    ensureData(): void;
    ensureAddComponentGroup(id: string): void;
    removeAddComponentGroup(id: string): boolean;
    hasRemoveComponentGroup(id: string): boolean;
    ensureRemoveComponentGroup(id: string): void;
    removeRemoveComponentGroup(id: string): boolean;
}
