import { FSM } from '@dra2020/baseclient'; import * as DB from '../dbabstract/all'; import { Environment } from './env'; import { Lambda } from '@aws-sdk/client-lambda'; interface InvokeOptions { isSync?: boolean; } export declare class FsmInvoke extends FSM.Fsm { name: string; params: any; result: any; options: InvokeOptions; constructor(env: Environment, name: string, params: any); get env(): Environment; setOptions(options: InvokeOptions): FsmInvoke; tick(): void; } export declare class FsmEnqueue extends FSM.Fsm { options: EnqueueOptions; name: string; params: any; fsmUpdate: DB.DBUpdate; constructor(env: Environment, options: EnqueueOptions, name: string, params: any); get env(): Environment; tick(): void; } export interface EnqueueOptions { id?: string; priority?: number; } export declare class Manager extends FSM.Fsm { awslambda: Lambda; workqueue: DB.DBCollection; msThrottle: number; constructor(env: Environment); get env(): Environment; invoke(name: string, params?: any): FsmInvoke; doWork(): void; enqueue(options: EnqueueOptions, name: string, params?: any): FsmEnqueue; } export declare function create(env: Environment): Manager; export {};