// Stub types for modules without proper type declarations

declare module '@vueuse/core' {
  export function useWebNotification(options?: any): any
  export function useBrowserLocation(): any
  export function useGeolocation(options?: any): any
  export function useStorage<T>(key: string, defaults: T, storage?: Storage): any
  export function watchDebounced<T>(source: any, cb: (value: T) => void, options?: any): any
  export function onClickOutside(target: any, handler: (event: PointerEvent) => void, options?: any): any
}

declare module '@formkit/core' {
  export function getNode(id: string): any
  export function createMessage(options: any): any
  export type FormKitSchemaNode = any
}

declare module 'vue3-apexcharts' {
  import type { Plugin } from 'vue'
  const VueApexCharts: Plugin
  export default VueApexCharts
}

interface Window {
  chatwootSDK: {
    run: (config: { websiteToken: string; baseUrl: string }) => void
  }
}
