import { PartialBy } from '../../components/types';
import { default as Core } from '../core/core';
import { default as coreDefaultOptions } from '../core/options';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, App } from 'vue';
import { Props } from '../../components/core/notice/types';
import { Options as TopPopupOptions } from '../../components/popup/lib/worker';
import { default as TopDialogs } from '../../components/dialog/dialog/dialogs/dialogs.vue';
import { TopDialogOptions } from '../../components/dialog/lib/types';
import * as Forms from '../../components/forms/forms';
declare const TopNotice: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
declare global {
    const vd: typeof console.log;
}
declare module '@vue/runtime-core' {
    interface ComponentCustomProperties {
        /**
         * Статический класс с текущим состоянимем UI
         */
        $core: typeof Core;
        $vd: typeof console.log;
    }
    /**
     * Обязательные компоненты UI
     *
     * Они подключаются через плагин и доступны без явного указания импорта
     */
    interface GlobalComponents {
        TopAvatar: typeof Forms.TopAvatar;
        TopButton: typeof Forms.TopButton;
        TopCheckbox: typeof Forms.TopCheckbox;
        TopControlLabel: typeof Forms.TopControlLabel;
        TopHint: typeof Forms.TopHint;
        TopInput: typeof Forms.TopInput;
        TopInputDate: typeof Forms.TopInputDate;
        TopInputRange: typeof Forms.TopInputRange;
        TopRadio: typeof Forms.TopRadio;
        TopSwitcher: typeof Forms.TopSwitcher;
        TopTextarea: typeof Forms.TopTextarea;
        TopSelect: typeof Forms.TopSelect;
        TopLoadbar: typeof Forms.TopLoadbar;
        TopNotice: typeof TopNotice;
        TopDialogs: typeof TopDialogs;
    }
}
type CoreOptions = PartialBy<typeof coreDefaultOptions, 'timezoneOffset' | 'documentClassModificators'>;
type Options = CoreOptions & {
    topPopupOptions?: TopPopupOptions;
    topDialogOptions?: TopDialogOptions;
};
/**
 * Плагин для интеграции UI во Vue приложение
 *
 * - В глобальную область видимости шаблонов будет добавлен объект $core
 * - Будут зарегистрирвоаны директивы UI: https://ui.topvisor.com/?path=/docs/core-directives-focus--docs
 * - Будут подключены базовые компоненты UI/Forms: https://ui.topvisor.com/?path=/docs/components-forms-readme--docs
 */
declare const _default: {
    install: (app: App<any>, options: Options) => void;
};
export default _default;
