import { DefineComponent } from 'vue';

/**
 * Props for DialogAssetNameDetail component
 */
export interface DialogAssetNameDetailProps {
  /**
   * The header of the dialog.
   *
   * @defaultValue "Asset Name Detail"
   */
  header?: string;

  /**
   * The ID of the asset name.
   */
  id: string;

  currentTagType?: 'RFID' | 'QR' | 'RFID & QR' | 'Non TAG';

  /**
   * The query params for fetching assets.
   */
  params?: { [key: string]: string };

  /**
   * Specifies the visibility of the dialog.
   * @defaultValue false
   */
  visible?: boolean | undefined;
}

/**
 * Emits for DialogAssetNameDetail component
 */
export type DialogAssetNameDetailEmits = {
  /**
   * Emits when the dialog is closed. Wether from cancel button, close button, or ESC button pressed.
   */
  'update:visible': [state: boolean];
};

/**
 * **TSVue - DialogAssetNameDetail**
 *
 * _DialogAssetNameDetail is a component for displaying asset name detail._
 *
 * --- ---
 * ![TSVue](https://ik.imagekit.io/kurniadev/TS-HEAD-BLACK.png)
 *
 * @group components
 */
declare const DialogAssetNameDetail: DefineComponent<
  DialogAssetNameDetailProps,
  DialogAssetNameDetailEmits
>;

export default DialogAssetNameDetail;
