import { z } from "zod"; import type { LanguageInfo } from "./types"; export type NamespacedKey = string; export declare const KeyMeta: z.ZodObject<{ current: z.ZodOptional; lastModified: z.ZodString; }, "strip", z.ZodTypeAny, { lastModified: string; current?: string | undefined; }, { lastModified: string; current?: string | undefined; }>; export type KeyMeta = z.infer; export declare const State: z.ZodObject<{ version: z.ZodEnum<["0"]>; baseLocale: z.ZodString; translationsPath: z.ZodString; generateKeys: z.ZodDefault; locales: z.ZodArray; lastModified: z.ZodString; }, "strip", z.ZodTypeAny, { lastModified: string; current?: string | undefined; }, { lastModified: string; current?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { code: string; englishName: string; localName: string; keys: Record; }, { code: string; englishName: string; localName: string; keys: Record; }>, "many">; }, "strip", z.ZodTypeAny, { version: "0"; baseLocale: string; translationsPath: string; generateKeys: boolean; locales: { code: string; englishName: string; localName: string; keys: Record; }[]; }, { version: "0"; baseLocale: string; translationsPath: string; locales: { code: string; englishName: string; localName: string; keys: Record; }[]; generateKeys?: boolean | undefined; }>; export type State = z.infer; export declare function getLanguagesInfo(state: State): LanguageInfo[]; export declare function loadState(): Promise; export declare function createState({ baseLocale, translationsPath, generateKeys, }: { baseLocale: string; translationsPath: string; generateKeys?: boolean; }): Promise; export declare function saveState(state: State): Promise; export declare function touch(state: State, locale: string, key: NamespacedKey, date?: Date, current?: string): void; export declare function isStale(state: State, baseLocale: string, locale: string, key: NamespacedKey): boolean; export declare function diffState(state: State): Array<{ locale: string; key: NamespacedKey; baseTs: string; localeTs: string | "missing"; }>;