import * as _$vue from "vue";
import { Plugin } from "vue";

//#region src/components/VueIdentifyNetwork.vue.d.ts
type NetworkType = null | 'Unknown' | '2g' | '3g' | '4g' | 'wifi';
type Evented = {
  currentTarget: {
    effectiveType: NetworkType;
    downlink: number;
  };
};
declare global {
  interface Navigator {
    connection: {
      onchange: null | ((e: Evented) => void);
      addEventListener(type: 'change', listener: (e: Evented) => void): void;
      removeEventListener(type: 'change', listener: (e: Evented) => void): void;
      effectiveType: NetworkType;
      rtt: number;
      downlink: number;
      saveData: boolean;
    };
  }
}
type __VLS_ModelProps = {
  'unknownClass'?: string | null;
  'slowClass'?: string | null;
  'fastClass'?: string | null;
};
declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {};
type __VLS_Slots = {} & {
  unknown?: (props: typeof __VLS_1) => any;
} & {
  slow?: (props: typeof __VLS_3) => any;
} & {
  fast?: (props: typeof __VLS_5) => any;
};
declare const __VLS_base: _$vue.DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
  "update:unknownClass": (value: string | null) => any;
  "update:slowClass": (value: string | null) => any;
  "update:fastClass": (value: string | null) => any;
  "network-type": (e: NetworkType) => any;
  "network-speed": (e: number | "Unknown") => any;
}, string, _$vue.PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
  "onUpdate:unknownClass"?: ((value: string | null) => any) | undefined;
  "onUpdate:slowClass"?: ((value: string | null) => any) | undefined;
  "onUpdate:fastClass"?: ((value: string | null) => any) | undefined;
  "onNetwork-type"?: ((e: NetworkType) => any) | undefined;
  "onNetwork-speed"?: ((e: number | "Unknown") => any) | undefined;
}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
type __VLS_WithSlots<T, S> = T & {
  new (): {
    $slots: S;
  };
};
//#endregion
//#region src/install.d.ts
declare const install: Exclude<Plugin['install'], undefined>;
//#endregion
export { _default as VueIdentifyNetwork, install as default };
//# sourceMappingURL=index.d.ts.map