import { useLoading } from "../../composables/useLoading.js";
import "../../composables/index.js";
import { ClassStyle } from "../data-table-plus/index.js";
import { LoadingProviderProps } from "../loading-provider/index.js";
import { _default } from "./ConfigProviders.vue.js";
import { ConfigProviderProps, DialogProviderInst, DialogProviderProps, LoadingBarProviderInst, LoadingBarProviderProps, MessageProviderInst, MessageProviderProps, ModalProviderInst, ModalProviderProps, NotificationProviderInst, NotificationProviderProps } from "naive-ui";

//#region src/components/config-providers/index.d.ts
type ConfigProvidersProps = {
  globalStyle?: boolean;
  configProviderProps?: ConfigProviderProps & ClassStyle;
  loadingBarProviderProps?: LoadingBarProviderProps & ClassStyle;
  loadingProviderProps?: LoadingProviderProps & ClassStyle;
  dialogProviderProps?: DialogProviderProps & ClassStyle;
  modalProviderProps?: ModalProviderProps & ClassStyle;
  notificationProviderProps?: NotificationProviderProps & ClassStyle;
  messageProviderProps?: MessageProviderProps & ClassStyle;
};
declare global {
  interface Window {
    $dialog: DialogProviderInst;
    $loading: ReturnType<typeof useLoading>;
    $loadingBar: LoadingBarProviderInst;
    $message: MessageProviderInst;
    $modal: ModalProviderInst;
    $notification: NotificationProviderInst;
  }
}
//#endregion
export { ConfigProvidersProps };