import type { DefaultLocale } from '../commands'; export declare const LangRouter: (userLocale: string, defaultLang: string, langs: Partial>) => (route?: string[], args?: any[]) => SeyfertLocale; export type __InternalParseLocale> = { [K in keyof T]: T[K] extends (...args: any[]) => any ? (...args: Parameters) => { get(locale?: string): ReturnType; } : T[K] extends string ? { get(locale?: string): T[K]; } : T[K] extends unknown[] ? { get(locale?: string): T[K]; } : T[K] extends Record ? __InternalParseLocale & { get(locale?: string): T[K]; } : never; }; /** * The `ctx.t` / `client.t(...)` accessor type. Kept as a named alias so that inferred return * types (BaseClient.t, the context `t` getters, ...) emit a reference to `DefaultLocale` instead * of eagerly baking it to `{}` at build time (where `SeyfertRegistry` has no `langs`), which left * consumers with an untyped `ctx.t`. */ export type SeyfertLocale = __InternalParseLocale & { get(locale?: string): DefaultLocale; }; export type ParseLocales> = T; /**Idea inspiration from: FreeAoi | Fixed by: Drylozu */