import { InjectionKey, Plugin } from 'vue'; import { InklineColorModeOptions, InklineToastOptions } from '@inkline/inkline/plugins'; import { InklineIconsPluginOptions } from '@inkline/inkline/plugins/icons'; export interface InklineOptions extends InklineColorModeOptions, InklineToastOptions { locale: string; validateOn: string[]; routerComponent: any; color: string; size: string; componentOptions: any; [key: string]: any; } export interface InklinePluginOptions extends InklineOptions, InklineIconsPluginOptions { components: any; renderMode: 'client' | 'universal'; } export interface InklineService { form: (...args: any[]) => any; setLocale: (language: string) => any; options: InklineOptions; } /** * Create inkline prototype */ export declare function createInklineService({ icons, components, ...options }: InklinePluginOptions): InklineService; /** * Default configuration options */ export declare const defaultOptions: InklinePluginOptions; export declare const InklineKey: InjectionKey; /** * Inkline Vue.js plugin */ export declare const Inkline: Plugin; declare module '@vue/runtime-core' { interface ComponentCustomProperties { $inkline: InklineService; } }