import { LogSettings } from './logging/LogSettings';
import { Logger } from './index';
import { App } from 'vue';
/**
 * Vue plugin for integrating the Logger functionality into Vue applications.
 * Provides a $log property on all Vue components and makes the logger available through dependency injection.
 *
 * @example
 * // In your main.js or main.ts file:
 * import { createApp } from 'vue';
 * import App from './App.vue';
 * import { VueLoggerPlugin } from 'smyld-lib-common';
 *
 * const app = createApp(App);
 *
 * // Use the plugin with default settings
 * app.use(VueLoggerPlugin);
 *
 * // Or with custom settings
 * app.use(VueLoggerPlugin, {
 *   logLevel: LogLevel.DEBUG,
 *   cacheLogs: true
 * });
 *
 * app.mount('#app');
 *
 * @example
 * // In a Vue component:
 * export default {
 *   mounted() {
 *     this.$log.info('Component mounted');
 *   },
 *   methods: {
 *     handleClick() {
 *       this.$log.debug('Button clicked', { timestamp: Date.now() });
 *     }
 *   }
 * }
 */
export declare const VueLoggerPlugin: {
    /**
     * Vue 3 plugin installation method.
     *
     * @param {App} app - The Vue application instance
     * @param {LogSettings} [options] - Optional logger configuration
     */
    install: (app: App, options?: LogSettings) => void;
};
/**
 * Type declaration to extend Vue's ComponentCustomProperties interface
 * This makes the $log property available on all Vue components with proper typing
 */
declare module '@vue/runtime-core' {
    interface ComponentCustomProperties {
        /**
         * Logger instance available on all Vue components.
         * Use this to log messages from your components.
         *
         * @example
         * this.$log.info('User logged in');
         */
        $log: Logger;
    }
}
