import { LayoutVariant } from '@redocly/config';
import type { AsyncLocalStorage } from 'node:async_hooks';
import type { TabType } from '../models/tab.js';
import type { UserClaims } from '@redocly/theme/core/openapi';
declare global {
    var redoclyCookieStorage: AsyncLocalStorage<string> | undefined;
}
export type AppSessionStore = {
    collapsedSidebar: boolean;
    unsupportedFeatureScreen: boolean;
};
export type AppStore = {
    isSidebarOpened: boolean;
    activeMimeName: string;
    layout: LayoutVariant;
    language: string;
    environment: string;
    environments: Record<string, Record<string, string>>;
    userClaims: UserClaims;
    allowedEnvironments: string[] | null;
};
type LanguageAtom = {
    languages?: (TabType & {
        order?: number;
        lang: string;
    })[];
    activeLanguage: string;
};
export declare const appStore: import("jotai").WritableAtom<AppStore, [AppStore | typeof import("jotai/utils").RESET | ((prev: AppStore) => AppStore | typeof import("jotai/utils").RESET)], void>;
export declare const appStoreOverrideAtom: import("jotai").PrimitiveAtom<Partial<AppStore> | undefined> & {
    init: Partial<AppStore> | undefined;
};
export declare const environmentsAtom: import("jotai").Atom<import("../utils/environments.js").EnvironmentData>;
export declare const environmentAtom: import("jotai").WritableAtom<[Record<string, string>, string], [{
    environment?: string;
    environments?: Record<string, Record<string, string>>;
}], void>;
export declare const isSidebarOpenedAtom: import("jotai").WritableAtom<boolean, boolean[], void>;
export declare const activeMimeNameAtom: import("jotai").WritableAtom<string, [string], void>;
export declare const layoutAtom: import("jotai").WritableAtom<LayoutVariant, LayoutVariant[], void>;
export declare const userClaimsAtom: import("jotai").WritableAtom<UserClaims, UserClaims[], void>;
export declare const allowedEnvironmentsAtom: import("jotai").WritableAtom<string[] | null, [string[] | null], void>;
/**
 * appSessionStore saved to session storage
 */
export declare const appSessionStore: import("jotai").WritableAtom<AppSessionStore, [AppSessionStore | typeof import("jotai/utils").RESET | ((prev: AppSessionStore) => AppSessionStore | typeof import("jotai/utils").RESET)], void>;
export declare const collapsedSidebarAtom: import("jotai").WritableAtom<boolean, boolean[], void>;
export declare function getLangKey({ lang, label }: {
    lang: string;
    label?: string;
}): string;
export declare const languageAtom: import("jotai").WritableAtom<LanguageAtom, [string], void>;
export {};
