interface DataWorkflow {
  name: string;
  sysName: string;
}

interface WorkflowLists {
  createdAt: string;
  createdFullName: string;
  createdUserId: string;
  id: string;
  lastUpdateFullName: string;
  lastUpdateUserId: string;
  lastUpdatedAt: string;
  metaWorkflowId: string;
  name: string;
  order: number;
  type: string;
  metaStateOperators: MetaStateOperators[];
}

interface MetaStateOperators {
  canCancel: boolean;
  canChangeState: boolean;
  canComment: boolean;
  canDelete: boolean;
  canOperate: boolean;
  canSign: boolean;
  canUpdate: boolean;
  canView: boolean;
  createdAt: string;
  createdFullName: string;
  createdUserId: string;
  id: string;
  lastUpdateFullName: string;
  lastUpdateUserId: string;
  lastUpdatedAt: string;
  metaStateId: string;
  operator: string;
}

interface OptionsType {
  id: string;
  name: string;
  posLevels: PosLevel[];
}

interface OptionsLevel {
  id: string;
  name: string;
}

interface PosType {
  id: string;
  posTypeName: string;
  posTypeRank: number;
  posLevels: PosLevel[];
}

interface PosLevel {
  id: string;
  posLevelAuthority: string;
  posLevelName: string;
  posLevelRank: number;
}

export type {
  WorkflowLists,
  DataWorkflow,
  OptionsType,
  OptionsLevel,
  PosType,
  PosLevel,
};
