import type { PathStrategy } from '@i18n-micro/path-strategy';
import type { CleanTranslation, I18nRouteParams, Locale, MissingHandler, ModuleOptionsExtend, Params, Translations } from '@i18n-micro/types';
import type { RouteLocationNamedRaw, RouteLocationNormalizedLoaded, RouteLocationRaw, RouteLocationResolved, RouteLocationResolvedGeneric } from 'vue-router';
declare const _default: import("nuxt/app").Plugin<{
    getI18nConfig: () => ModuleOptionsExtend;
    helper: {
        mergeTranslation(locale: string, routeName: string, newTranslations: Translations, _force?: boolean): Promise<void>;
    };
    i18n: unknown;
    __micro: boolean;
    i18nStrategy: PathStrategy;
    getLocale: (route?: RouteLocationNormalizedLoaded | RouteLocationResolvedGeneric) => string;
    getLocaleName: () => string | null;
    defaultLocale: () => string | undefined;
    getLocales: () => Locale[];
    getRouteName: (route?: RouteLocationNormalizedLoaded | RouteLocationResolvedGeneric, locale?: string) => string;
    t: (key: import("@i18n-micro/types").TranslationKey, params?: Params, defaultValue?: string | null, routeContext?: unknown) => CleanTranslation;
    ts: (key: string, params?: Params, defaultValue?: string, route?: RouteLocationNormalizedLoaded) => string;
    _t: (route: RouteLocationNormalizedLoaded) => (key: string, params?: Params, defaultValue?: string | null) => CleanTranslation;
    _ts: (route: RouteLocationNormalizedLoaded) => (key: string, params?: Params, defaultValue?: string) => string;
    tc: (key: import("@i18n-micro/types").TranslationKey, count: number | Params, defaultValue?: string) => string;
    tn: (value: number, options?: Intl.NumberFormatOptions) => string;
    td: (value: Date | number | string, options?: Intl.DateTimeFormatOptions) => string;
    tdr: (value: Date | number | string, options?: Intl.RelativeTimeFormatOptions) => string;
    has: (key: import("@i18n-micro/types").TranslationKey, routeContext?: unknown) => boolean;
    mergeTranslations: (newTranslations: Translations) => void;
    switchLocaleRoute: (toLocale: string) => RouteLocationRaw;
    clearCache: () => void;
    switchLocalePath: (toLocale: string) => string;
    switchLocale: (toLocale: string) => Promise<unknown>;
    switchRoute: (route: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, toLocale?: string) => unknown;
    localeRoute(to: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, locale?: string): RouteLocationResolved;
    localePath(to: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, locale?: string): string;
    setI18nRouteParams: (value: I18nRouteParams) => I18nRouteParams;
    loadPageTranslations: (locale: string, routeName: string, translations: Translations) => Promise<void>;
    setMissingHandler: (handler: MissingHandler | null) => void;
}> & import("nuxt/app").ObjectPlugin<{
    getI18nConfig: () => ModuleOptionsExtend;
    helper: {
        mergeTranslation(locale: string, routeName: string, newTranslations: Translations, _force?: boolean): Promise<void>;
    };
    i18n: unknown;
    __micro: boolean;
    i18nStrategy: PathStrategy;
    getLocale: (route?: RouteLocationNormalizedLoaded | RouteLocationResolvedGeneric) => string;
    getLocaleName: () => string | null;
    defaultLocale: () => string | undefined;
    getLocales: () => Locale[];
    getRouteName: (route?: RouteLocationNormalizedLoaded | RouteLocationResolvedGeneric, locale?: string) => string;
    t: (key: import("@i18n-micro/types").TranslationKey, params?: Params, defaultValue?: string | null, routeContext?: unknown) => CleanTranslation;
    ts: (key: string, params?: Params, defaultValue?: string, route?: RouteLocationNormalizedLoaded) => string;
    _t: (route: RouteLocationNormalizedLoaded) => (key: string, params?: Params, defaultValue?: string | null) => CleanTranslation;
    _ts: (route: RouteLocationNormalizedLoaded) => (key: string, params?: Params, defaultValue?: string) => string;
    tc: (key: import("@i18n-micro/types").TranslationKey, count: number | Params, defaultValue?: string) => string;
    tn: (value: number, options?: Intl.NumberFormatOptions) => string;
    td: (value: Date | number | string, options?: Intl.DateTimeFormatOptions) => string;
    tdr: (value: Date | number | string, options?: Intl.RelativeTimeFormatOptions) => string;
    has: (key: import("@i18n-micro/types").TranslationKey, routeContext?: unknown) => boolean;
    mergeTranslations: (newTranslations: Translations) => void;
    switchLocaleRoute: (toLocale: string) => RouteLocationRaw;
    clearCache: () => void;
    switchLocalePath: (toLocale: string) => string;
    switchLocale: (toLocale: string) => Promise<unknown>;
    switchRoute: (route: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, toLocale?: string) => unknown;
    localeRoute(to: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, locale?: string): RouteLocationResolved;
    localePath(to: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, locale?: string): string;
    setI18nRouteParams: (value: I18nRouteParams) => I18nRouteParams;
    loadPageTranslations: (locale: string, routeName: string, translations: Translations) => Promise<void>;
    setMissingHandler: (handler: MissingHandler | null) => void;
}>;
export default _default;
export interface PluginsInjections {
    $i18nStrategy: PathStrategy;
    $getI18nConfig: () => ModuleOptionsExtend;
    $getLocale: (route?: RouteLocationNormalizedLoaded | RouteLocationResolvedGeneric) => string;
    $getLocaleName: () => string | null;
    $defaultLocale: () => string | undefined;
    $getLocales: () => Locale[];
    $getRouteName: (route?: RouteLocationNamedRaw | RouteLocationResolvedGeneric, locale?: string) => string;
    $t: (key: string, params?: Params, defaultValue?: string | null) => CleanTranslation;
    $_t: (route: RouteLocationNormalizedLoaded) => (key: string, params?: Params, defaultValue?: string | null) => CleanTranslation;
    $ts: (key: string, params?: Params, defaultValue?: string) => string;
    $_ts: (route: RouteLocationNormalizedLoaded) => (key: string, params?: Params, defaultValue?: string | null) => string;
    $tc: (key: string, params: number | Params, defaultValue?: string) => string;
    $tn: (value: number, options?: Intl.NumberFormatOptions) => string;
    $td: (value: Date | number | string, options?: Intl.DateTimeFormatOptions) => string;
    $tdr: (value: Date | number | string, options?: Intl.RelativeTimeFormatOptions) => string;
    $has: (key: string) => boolean;
    $mergeTranslations: (newTranslations: Translations) => void;
    $switchLocaleRoute: (locale: string) => RouteLocationRaw;
    $switchLocalePath: (locale: string) => string;
    $switchLocale: (locale: string) => void;
    $switchRoute: (route: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, toLocale?: string) => void;
    $localeRoute: (to: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, locale?: string) => RouteLocationResolved;
    $localePath: (to: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, locale?: string) => string;
    $setI18nRouteParams: (value: I18nRouteParams) => I18nRouteParams;
    $loadPageTranslations: (locale: string, routeName: string, translations: Translations) => Promise<void>;
    $setMissingHandler: (handler: MissingHandler | null) => void;
}
