import { ProcessName } from '../../interfaces/index';
import { Reactive } from '../reactive';
declare class InnerLoopModel {
  total: number;
  count: number;
  isInitial: boolean;
  busy: Reactive<boolean>;
  get first(): boolean;
  constructor(total: number);
  done(): void;
  start(): void;
  dispose(): void;
}
export declare class WorkflowCycleModel {
  instanceIndex: number;
  count: number;
  isInitial: boolean;
  initiator: ProcessName;
  innerLoop: InnerLoopModel;
  interrupter: ProcessName | null;
  busy: Reactive<boolean>;
  get loopId(): string;
  get loopIdNext(): string;
  constructor(instanceIndex: number, cycle?: WorkflowCycleModel);
  start(isInitial: boolean, initiator: ProcessName): void;
  end(count: number): void;
  dispose(forever?: boolean): void;
}
export {};
