import { Component, Prop, Vue } from 'vue-property-decorator';
import dataBlock from '@components/cards/statements/components/dataBlock.vue';
import { Button } from '@/recruits/components/taskButtons/types';
import { TaskProcess, UserTask } from '@/openapi/wf';

@Component({
  components: {
    dataBlock,
  },
})
export default class TaskButton<T> extends Vue {
  @Prop({ default: () => '' })
  label: string;

  @Prop({ default: () => false })
  loading: boolean;

  @Prop({ default: () => false })
  disable: boolean;

  @Prop({ default: () => ({}) })
  buttonSettings: Button;

  @Prop({ default: () => ({}) })
  common: unknown;

  @Prop({ default: () => ({}) })
  userTask: UserTask;

  @Prop({ default: () => ({}) })
  taskProcess: TaskProcess;

  @Prop({ default: () => ({}) })
  model: T;
}
