import type { ClientMessageConditions, ClientMessageContext } from "../../conditions/context/clientMessage.js"; import type { State } from "../../state/state.js"; import type { Command } from "../../command.js"; import { BaseActionDefinition } from "../base.js"; import { CollectionActionDefinition, CollectionConditionsResult, CollectionContext } from "../collection/collection.js"; import type { ActionDefinition } from "../types.js"; export type RootContext = { successfulActions: Set>; subContexts: Map, CollectionContext>>; }; export declare class RootActionDefinition implements CollectionActionDefinition> { name: string; private actions; constructor(actions: ActionDefinition[]); setupContext(): RootContext; teardownContext(context: CollectionContext>): void; checkPrerequisites(messageContext: ClientMessageContext, rootContext: CollectionContext>): boolean; checkConditions(test: ClientMessageConditions, messageContext: ClientMessageContext, rootContext: CollectionContext>): CollectionConditionsResult>; getCommand(messageContext: ClientMessageContext, rootContext: CollectionContext>): Command; hasFinished(): boolean; hasSuccessfulSubActions(context: CollectionContext>): boolean; getSuccessfulAction(context: CollectionContext>): ActionDefinition; _successfulActionsCount(context: CollectionContext>): number; _allActionsCount(): number; }