import { Router } from 'vue-router'; export type Language = "en-US" | "zh-CN"; export interface Translations { [language: string]: Record; } export interface LanguageConfig { name?: string; description?: string; tooltip?: string; } export interface RouteItem { id?: string; path?: string; name?: string; icon?: string; fullPath?: string; title?: string; children?: RouteItem[]; disabled?: boolean; menuType?: string; meta?: { appId?: string; appName?: string; icon?: string; isAffix?: boolean; isHide?: boolean; isKeepAlive?: boolean; isLink?: boolean | string; permissionMenuId?: string; title?: string; visible?: string; translations?: Translations | LanguageConfig; parent?: string; parentPath?: string; transition?: string; hideSidebar?: boolean; [key: string]: unknown; }; [key: string]: unknown; } export declare const Storage: { get(key: string, defaultValue?: T | null): T; set(key: string, value: unknown, expire?: number | null): void; clear(): void; }; export declare function deepMerge(target: unknown, source: unknown): T; export declare function getCurrentLocale(): Language; export declare const tname: (translations: Translations | LanguageConfig, key: string, defaultValue?: string) => string; export declare const replaceName: (name?: string) => string; export declare const getRouteLastVisibleParentMenu: (path: string, menus: RouteItem[], lastVisibleParentMenu?: RouteItem) => string; export declare const hasRoutePermission: (router: Router, to: string | Record) => boolean; export declare const useCurrentTimeZone: () => Readonly>; export declare function setCurrentTimeZone(timeZone: string): void; export declare const getTimeZoneLabel: (timeZone: string, date?: Date) => string; export declare const getTimeZoneOptions: (date?: Date) => { value: string; label: string; offset: string; }[];