import { ComponentOptionsMixin, DefineComponent, PropType } from 'vue';

declare const List: DefineComponent<
  {
    inset?: boolean;
    xsmallInset?: boolean;
    smallInset?: boolean;
    mediumInset?: boolean;
    largeInset?: boolean;
    xlargeInset?: boolean;
    mediaList?: boolean;
    sortable?: boolean;
    sortableTapHold?: boolean;
    sortableEnabled?: boolean;
    sortableOpposite?: boolean;
    accordionList?: boolean;
    accordionOpposite?: boolean;
    contactsList?: boolean;
    simpleList?: boolean;
    linksList?: boolean;
    menuList?: boolean;
    noHairlines?: boolean;
    noHairlinesBetween?: boolean;
    noHairlinesMd?: boolean;
    noHairlinesBetweenMd?: boolean;
    noHairlinesIos?: boolean;
    noHairlinesBetweenIos?: boolean;
    noHairlinesAurora?: boolean;
    noHairlinesBetweenAurora?: boolean;
    noChevron?: boolean;
    chevronCenter?: boolean;
    tab?: boolean;
    tabActive?: boolean;
    form?: boolean;
    formStoreData?: boolean;
    inlineLabels?: boolean;
    virtualList?: boolean;
    virtualListParams?: object;
    sortableMoveElements?: boolean;
    color?: string;
    colorTheme?: string;
    textColor?: string;
    bgColor?: string;
    borderColor?: string;
    rippleColor?: string;
    themeDark?: boolean;
    loading?: boolean;
    skeletonEffect?: 'fade' | 'pulse' | 'wave';
  },
  () => JSX.Element,
  unknown,
  {},
  {},
  ComponentOptionsMixin,
  ComponentOptionsMixin,
  (
    | 'submit'
    | 'sortable:enable'
    | 'sortable:disable'
    | 'sortable:sort'
    | 'virtual:itembeforeinsert'
    | 'virtual:beforeclear'
    | 'virtual:itemsbeforeinsert'
    | 'virtual:itemsafterinsert'
    | 'tab:hide'
    | 'tab:show'
  )[],
  | 'submit'
  | 'sortable:enable'
  | 'sortable:disable'
  | 'sortable:sort'
  | 'virtual:itembeforeinsert'
  | 'virtual:beforeclear'
  | 'virtual:itemsbeforeinsert'
  | 'virtual:itemsafterinsert'
  | 'tab:hide'
  | 'tab:show'
>;

export default List;
