import { type Language } from './support/languages.ts';
import type { Application } from './types.ts';
export type LanguagesLoadingAddedApplicationProperties = {
    supportedLanguages: Language[];
    languages: string[];
    languagesDefinition: Language[];
    languagesToGenerate: string[];
    languagesToGenerateDefinition: Language[];
    addLanguageCallbacks: ((newLanguages: readonly Language[], allLanguages: readonly Language[]) => void)[];
};
export type LanguagesPreparingAddedApplicationProperties = {
    enableTranslation: boolean;
    enableI18nRTL: boolean;
    nativeLanguage: string;
    nativeLanguageDefinition: Language;
};
export type LanguagesAddedApplicationProperties = LanguagesLoadingAddedApplicationProperties & LanguagesPreparingAddedApplicationProperties;
export declare const mutateApplicationLoading: {
    readonly __override__: false;
    readonly supportedLanguages: () => never[];
    readonly languages: () => never[];
    readonly languagesDefinition: () => never[];
    readonly addLanguageCallbacks: () => never[];
    readonly languagesToGenerate: () => never[];
    readonly languagesToGenerateDefinition: () => never[];
};
export declare const mutateApplicationPreparing: {
    readonly __override__: false;
    readonly enableTranslation: false;
    readonly nativeLanguage: "en";
    readonly languages: ({ languages, nativeLanguage }: LanguagesAddedApplicationProperties) => string[];
    readonly nativeLanguageDefinition: ({ nativeLanguage, supportedLanguages }: LanguagesAddedApplicationProperties) => Language;
    readonly languagesDefinition: ({ languages, languagesDefinition, supportedLanguages }: LanguagesAddedApplicationProperties) => Language[];
    readonly languagesToGenerate: ({ commandName, languagesToGenerate, nativeLanguage }: Application) => string[];
    readonly languagesToGenerateDefinition: ({ languagesToGenerate, languagesToGenerateDefinition, supportedLanguages }: LanguagesAddedApplicationProperties) => Language[];
    readonly enableI18nRTL: ({ nativeLanguageDefinition, languagesDefinition }: LanguagesAddedApplicationProperties) => boolean;
};
