import { Logger } from '../../logger.js'; import { RuntimeCtx } from '../ctx.js'; import { Element } from '../element.js'; import { RetryOptions } from '../retry.js'; import { JsonSchema } from '../schema.js'; import { ReporterService, ResolverService } from '../services/index.js'; import { Context } from './context.js'; import { EntityList } from './list.js'; import { Module } from './module.js'; import { Pipe } from './pipe.js'; import { Pipeline } from './pipeline.js'; import { Unit } from './unit.js'; export interface ActionClass extends Module { $schema: JsonSchema; new (owner: ActionList): Action; } export type ActionOwner = Context | Action; export declare abstract class Action extends Unit { static $schema: JsonSchema; id: string; label: string; notes: string; children: ActionList; $runtime: ActionRuntime; abstract exec(): Promise; get $entityType(): string; get type(): string; get $index(): number; get $context(): Context; get $parent(): ActionOwner; get $reporter(): ReporterService; get $action(): Action; get $logger(): Logger; get $class(): ActionClass; get $key(): string; init(spec: any): void; hasChildren(): boolean; reset(): void; resetSubtree(): void; resetDescendants(): void; getLabel(): string; isLabelEditable(): boolean; validate(value: T): T; isRunning(): boolean | 0 | null; isFinished(): number | null; getDuration(): number; getStatus(): ActionStatus; createCtx(): RuntimeCtx; resolveScope(): Promise; resolveChildrenScope(): Promise; run(): Promise; afterRun(): void; protected _trackRuntimeStats(asyncFn: () => Promise): Promise; enter(): void; leave(): void; skip(): void; executeWithRetry(asyncFn: () => Promise, options?: RetryOptions): Promise; retry(asyncFn: () => Promise, options?: RetryOptions): Promise; selectSingle(pipeline: Pipeline, optional: boolean, ctx?: RuntimeCtx): Promise; selectOne(pipeline: Pipeline, ctx?: RuntimeCtx): Promise; selectAll(pipeline: Pipeline, ctx?: RuntimeCtx): Promise; getDepth(): number; descendentActions(): IterableIterator; descendentPipes(): IterableIterator; previousSiblings(): IterableIterator; nextSiblings(): IterableIterator; collectInputKeys(): Generator; collectOutputKeys(): IterableIterator; getUsedDefinitionIds(): string[]; collectDefinitionIds(): IterableIterator; } export declare class ActionList extends EntityList { create(_spec: any): Action; get $entityType(): string; get $script(): import("./script.js").Script; get $context(): Context; get $logger(): Logger; get $idDatabase(): import("./script.js").Script; get $resolver(): ResolverService; protected coerceSpecType(type: string): string; resolveScope(): Promise; } export declare class MatcherList extends ActionList { protected coerceSpecType(_type: string): string; } export declare class DefinitionList extends ActionList { protected coerceSpecType(_type: string): string; } export declare class UnresolvedAction extends Action { static $type: string; static $icon: string; static $hidden: boolean; $originalSpec: any; init(spec?: any): void; toJSON(): any; exec(): Promise; } export interface ActionRuntime { startedAt: number | null; finishedAt: number | null; error: Error | null; bypassed: boolean | null; } export interface ActionParamReference { actionId: string; paramName: string; } export type ActionStatus = 'idle' | 'running' | 'success' | 'fail'; //# sourceMappingURL=action.d.ts.map