import { NullableResultPromise } from "../base-types";
import CultureInfo from "../culture-info";
import { ICultureLoader } from "./culture-loader";
/**
 * Allows fetching culture information.
 */
export interface ICultureClient {
    /**
     * Gets the default culture.
     * @returns The default culture.
     */
    getDefaultCultureAsync(): NullableResultPromise<CultureInfo>;
    /**
     * Gets the cached default culture.
     * @returns The default culture.
     */
    getDefaultCultureCachedAsync(): NullableResultPromise<CultureInfo>;
    /**
     * Gets all installed cultures.
     * @returns All installed cultures.
     */
    getAllCulturesAsync(): Promise<Array<CultureInfo>>;
    /**
     * Gets all cached installed cultures.
     * @returns All cached installed cultures.
     */
    getAllCulturesCachedAsync(): Promise<Array<CultureInfo>>;
}
export declare class CultureClient implements ICultureClient {
    private readonly _cultureLoader;
    constructor(cultureLoader: ICultureLoader);
    getAllCulturesAsync(): Promise<Array<CultureInfo>>;
    getAllCulturesCachedAsync(): Promise<Array<CultureInfo>>;
    getDefaultCultureAsync(): NullableResultPromise<CultureInfo>;
    getDefaultCultureCachedAsync(): NullableResultPromise<CultureInfo>;
}
