import { UmbVariantId } from '../variant-id.class.js';
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
import { UmbContextBase } from '../../../../libs/class-api/index.js';
/**
 * A context for the current variant state.
 * @class UmbVariantContext
 * @augments {UmbContextBase}
 * @implements {UmbVariantContext}
 */
export declare class UmbVariantContext extends UmbContextBase {
    #private;
    readonly variantId: import("rxjs").Observable<UmbVariantId | undefined>;
    readonly culture: import("rxjs").Observable<string | null | undefined>;
    readonly segment: import("rxjs").Observable<string | null | undefined>;
    readonly displayVariantId: import("rxjs").Observable<UmbVariantId | undefined>;
    readonly displayCulture: import("rxjs").Observable<string | null | undefined>;
    readonly displaySegment: import("rxjs").Observable<string | null | undefined>;
    fallbackCulture: import("rxjs").Observable<string | null | undefined>;
    appCulture: import("rxjs").Observable<string | null | undefined>;
    constructor(host: UmbControllerHost);
    /**
     * Inherit values from the parent variant context
     * @returns {UmbVariantContext} - The current instance of the context
     * @memberof UmbVariantContext
     */
    inherit(): UmbVariantContext;
    /**
     * Sets the variant id state
     * @param {UmbVariantId | undefined} variantId - The variant to set
     * @memberof UmbVariantContext
     */
    setVariantId(variantId: UmbVariantId | undefined): Promise<void>;
    /**
     * Gets variant state
     * @returns {Promise<UmbVariantId | undefined>} - The variant state
     * @memberof UmbVariantContext
     */
    getVariantId(): Promise<UmbVariantId | undefined>;
    /**
     * Gets the culture state
     * @returns {(Promise<string | null | undefined>)} - The culture state
     * @memberof UmbVariantContext
     */
    getCulture(): Promise<string | null | undefined>;
    /**
     * Sets the variant culture state
     * @param {string | undefined} culture - The culture to set
     * @memberof UmbVariantContext
     */
    setCulture(culture: string | null): Promise<void>;
    /**
     * Gets the variant segment state
     * @returns {(Promise<string | null | undefined>)} - The segment state
     * @memberof UmbVariantContext
     */
    getSegment(): Promise<string | null | undefined>;
    /**
     * Sets the variant segment state
     * @param {string | undefined} segment - The segment to set
     * @memberof UmbVariantContext
     */
    setSegment(segment: string | null): Promise<void>;
    /**
     * Gets the fallback culture state
     * @returns {(Promise<string | null | undefined>)} - The fallback culture state
     * @memberof UmbVariantContext
     */
    getFallbackCulture(): Promise<string | null | undefined>;
    /**
     * Sets the fallback culture state
     * @param {string | undefined} culture - The fallback culture to set
     * @memberof UmbVariantContext
     */
    setFallbackCulture(culture: string | null): Promise<void>;
    /**
     * Gets the app culture state
     * @returns {(Promise<string | null | undefined>)} - The app culture state
     * @memberof UmbVariantContext
     */
    getAppCulture(): Promise<string | null | undefined>;
    /**
     * Sets the app culture state
     * @param {string | undefined} culture - The app culture to set
     * @memberof UmbVariantContext
     */
    setAppCulture(culture: string | null): Promise<void>;
    /**
     * Gets the display culture state
     * @returns {(Promise<string | null | undefined>)} - The app culture state
     * @memberof UmbVariantContext
     */
    getDisplayCulture(): Promise<string | null | undefined>;
}
