import { CreateWorkflowRequest, ManualTriggerRequest, ManualTriggerResponse, PatchWorkflowRequest, UpdateWorkflowRequest, WorkflowManualTriggersResponse, WorkflowMetadataResponse, WorkflowResponse, WorkflowTemplateResponse } from '@bringg/types';
import { CommonOptions } from '../../Core/RouteGenerator';
import { DataEntity, DataOptions, StorableItemMapper } from '../../data-entity';
import Session from '../../Services/Identity/Session';
export default class WorkflowsApi<T extends DataEntity> {
    private readonly workflowStore;
    private readonly workflowsService;
    private readonly storableDataService;
    constructor(session: Session, mapper: StorableItemMapper<T, WorkflowResponse>);
    loadAll(options?: DataOptions): Promise<T[]>;
    duplicate(id: number, commonOption?: CommonOptions): Promise<T>;
    delete(id: number, commonOption?: CommonOptions): Promise<void>;
    update(id: number, workflow: UpdateWorkflowRequest, commonOption?: CommonOptions): Promise<T>;
    patch(id: number, workflow: PatchWorkflowRequest, commonOption?: CommonOptions): Promise<T>;
    create(workflow: CreateWorkflowRequest, commonOption?: CommonOptions): Promise<T>;
    get(id: number): T;
    getAll(): T[];
    getTemplates(commonOption?: CommonOptions): Promise<WorkflowTemplateResponse[]>;
    manualTrigger(workflowId: number, triggerRequest: ManualTriggerRequest, commonOptions?: CommonOptions): Promise<ManualTriggerResponse>;
    getManualTriggers(commonOptions?: CommonOptions): Promise<WorkflowManualTriggersResponse>;
    getMetadata(workflowIds: number[], commonOptions?: CommonOptions): Promise<WorkflowMetadataResponse>;
}
