import type { Plugin } from 'vue';
import type { InklineColorModeOptions, InklineModalOptions, InklineToastOptions, InklineIconsPluginOptions } from '@inkline/inkline/plugins';
export interface InklineOptions extends InklineColorModeOptions, InklineToastOptions, InklineModalOptions {
    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, // eslint-disable-line @typescript-eslint/no-unused-vars
components, // eslint-disable-line @typescript-eslint/no-unused-vars
...options }: InklinePluginOptions): InklineService;
/**
 * Default configuration options
 */
export declare const defaultOptions: InklinePluginOptions;
/**
 * Inkline Vue.js plugin
 */
export declare const Inkline: Plugin;
declare module '@vue/runtime-core' {
    interface ComponentCustomProperties {
        $inkline: InklineService;
    }
}
