/// <reference path="../../src/base-types.d.ts" />
import { ReactNode } from 'react';
export type PlaygroundContext = {
    anonymousId: string;
    cubejsToken: string;
    basePath: string;
    isDocker: boolean;
    dbType: string | null;
    telemetry: boolean;
    shouldStartConnectionWizardFlow: boolean;
    dockerVersion: string | null;
    identifier: string;
    previewFeatures: boolean;
    serverCoreVersion: string;
    coreServerVersion: string;
    isCloud: boolean;
    livePreview?: boolean;
};
export type SystemContext = {
    basePath: string;
    isDocker: boolean;
    dockerVersion: string | null;
};
export type ContextProps = {
    ready: boolean;
    playgroundContext: Partial<PlaygroundContext>;
    schemaVersion: number;
    apiUrl: string | null;
    token: string | null;
    identifier?: string | null;
    setContext: (context: Partial<ContextProps> | null) => void;
};
export type AppContextProps = {
    children: ReactNode;
} & Partial<Omit<ContextProps, 'setContext'>>;
export declare const AppContext: import("react").Context<ContextProps>;
export declare function AppContextProvider({ children, ...contextProps }: AppContextProps): import("react/jsx-runtime").JSX.Element;
type AppContextConsumerProps = {
    onReady: (context: ContextProps) => void;
};
export declare function AppContextConsumer({ onReady }: AppContextConsumerProps): null;
export {};
