import { ClassComponent } from '../ts-helpers';
import { Asset } from '@/types/assets.type';
import { ScanPayload } from 'v2/ButtonSearchByScan/ButtonSearchByScan.vue.d';
import { QueryParams } from '../DataTable/DataTable.vue';

export type ButtonAddByScanEmits = {
  'update:modelValue': [assets: Asset[]];
  'scan': [payload: ScanPayload];
};

export interface ButtonAddByScanProps {
  /**
   * Defines asset data that already in the table.
   *
   */
  modelValue: Asset[];
  reportedDisposalAssets?: boolean;
  noDisposalAssets?: boolean;
  queryParams?: QueryParams;
}

/**
 * **TSVue v2 - ButtonAddByScan**
 *
 * --- ---
 * ![TSVue](https://ik.imagekit.io/kurniadev/TS-HEAD-BLACK.png)
 *
 * @group Component
 */
declare class ButtonAddByScan extends ClassComponent<
  ButtonAddByScanEmits,
  ButtonAddByScanProps
> {}

export default ButtonAddByScan;
