import { Model } from 'sequelize-typescript';
import { FlowNodeInstanceState } from '@5minds/processcube_engine_sdk';
import { ExternalTaskModel } from './ExternalTask';
import { HttpServiceTaskModel } from './HttpServiceTask';
import { ProcessInstanceModel } from './ProcessInstance';
export declare class CatchEventInstanceMetaInfoModel extends Model<CatchEventInstanceMetaInfoModel> {
    flowNodeInstanceId: string;
    eventName: string;
    triggerValue?: string;
    createdAt?: Date;
    updatedAt?: Date;
}
export declare class ThrowEventInstanceMetaInfoModel extends Model<ThrowEventInstanceMetaInfoModel> {
    flowNodeInstanceId: string;
    eventName: string;
    customCorrelationId?: string;
    createdAt?: Date;
    updatedAt?: Date;
}
export declare class CallActivityInstanceMetaInfoModel extends Model<CallActivityInstanceMetaInfoModel> {
    flowNodeInstanceId: string;
    targetProcessModelId: string;
    startEventId: string;
    childProcessInstanceId: string;
    createdAt: Date;
    updatedAt?: Date;
}
export declare class SubprocessInstancesMetaInfoModel extends Model<SubprocessInstancesMetaInfoModel> {
    flowNodeInstanceId: string;
    startEventId: string;
    childProcessInstanceId: string;
    createdAt: Date;
    updatedAt?: Date;
}
export declare class ManualTaskMetaInfoModel extends Model<ManualTaskMetaInfoModel> {
    flowNodeInstanceId: string;
    finishedByUserId: string;
    createdAt: Date;
    updatedAt?: Date;
}
export declare class UserTaskMetaInfoModel extends Model<UserTaskMetaInfoModel> {
    flowNodeInstanceId: string;
    actualOwnerId: string;
    assignedUserIds: string;
    finishedByUserId: string;
    createdAt: Date;
    updatedAt?: Date;
    userTaskConfig: string;
    userTaskConfigModel: string;
}
export declare class MultiInstanceMetadataModel extends Model<MultiInstanceMetadataModel> {
    multiInstanceMetadataId: string;
    startToken?: string;
    endToken?: string;
    createdAt: Date;
    updatedAt?: Date;
}
export declare class FlowNodeInstanceModel extends Model<FlowNodeInstanceModel> {
    flowNodeInstanceId: string;
    flowNodeId: string;
    flowNodeName: string;
    flowNodeLane: string;
    flowNodeType: string;
    eventType: string;
    state: FlowNodeInstanceState;
    previousFlowNodeInstanceId: string;
    parentProcessInstanceId: string;
    processDefinitionId: string;
    processModelId: string;
    embeddedProcessModelId: string;
    processInstanceId: string;
    correlationId: string;
    ownerId: string;
    error: string;
    startToken?: string;
    startTokenCompressed?: Buffer;
    suspendedAt?: Date;
    finishedAt?: Date;
    endToken?: string;
    endTokenCompressed?: Buffer;
    triggeredByFlowNodeInstanceId?: string;
    multiInstanceMetadataId?: string;
    triggeredByFlowNodeInstance?: FlowNodeInstanceModel;
    multiInstanceMetadata?: MultiInstanceMetadataModel;
    processInstance?: ProcessInstanceModel;
    callActivityInstanceMetaInfo?: CallActivityInstanceMetaInfoModel;
    subprocessInstanceMetaInfo?: SubprocessInstancesMetaInfoModel;
    catchEventInstanceMetaInfo?: CatchEventInstanceMetaInfoModel;
    throwEventInstanceMetaInfo?: ThrowEventInstanceMetaInfoModel;
    externalTaskData?: ExternalTaskModel;
    httpServiceTaskData?: HttpServiceTaskModel;
    manualTaskMetaInfo?: ManualTaskMetaInfoModel;
    userTaskMetaInfo?: UserTaskMetaInfoModel;
    createdAt?: Date;
    updatedAt?: Date;
}
