UNPKG

naive-ui

Version:

A Vue 3 Component Library. Fairly Complete, Theme Customizable, Uses TypeScript, Fast

31 lines (30 loc) 1.13 kB
import type { DiscreteApiType, MaybeRef } from './interface'; import { type App, type Component } from 'vue'; import { type ConfigProviderProps } from '../../config-provider'; import { type DialogApi } from '../../dialog'; import { type LoadingBarApi } from '../../loading-bar'; import { type MessageApi } from '../../message'; import { type ModalApi } from '../../modal'; import { type NotificationApi } from '../../notification'; export type Provider<P = any> = new (...args: any[]) => { $props: P; }; export type ProviderProps<C> = C extends Provider<infer P> ? P : unknown; export interface DiscreteAppOptions { providersAndProps: Array<{ type: DiscreteApiType; Provider: Component; props: any; }>; configProviderProps?: MaybeRef<ConfigProviderProps>; } export interface DiscreteApp { unmount: () => void; app: App; message?: MessageApi; notification?: NotificationApi; dialog?: DialogApi; loadingBar?: LoadingBarApi; modal?: ModalApi; } export declare function createDiscreteApp({ providersAndProps, configProviderProps }: DiscreteAppOptions): DiscreteApp;