import type { Action, Store } from "@reduxjs/toolkit";
import { type JSX, type ReactNode } from "react";
import type { SdkErrorComponent, SdkStoreState } from "../../store/types";
import type { MetabaseAuthConfig } from "../../types";
import type { SdkEventHandlersConfig } from "../../types/events";
import type { MetabaseTheme } from "../../../../../../frontend/src/metabase/embedding-sdk/theme";
import type { MetabasePluginsConfig } from "../../../../../../frontend/src/metabase/embedding-sdk/types/plugins";
import "metabase/css/index.module.css";
import "metabase/css/vendor.css";
export interface MetabaseProviderProps {
    children: ReactNode;
    authConfig: MetabaseAuthConfig;
    pluginsConfig?: MetabasePluginsConfig;
    eventHandlers?: SdkEventHandlersConfig;
    theme?: MetabaseTheme;
    className?: string;
    /**
     * Defines the display language. Accepts an ISO language code such as `en` or `de`.
     * Defaults to the instance locale.
     **/
    locale?: string;
    /** A custom loader component to display while the SDK is loading. */
    loaderComponent?: () => JSX.Element;
    /** A custom error component to display when the SDK encounters an error. */
    errorComponent?: SdkErrorComponent;
    /** Whether to allow logging to the DevTools console. Defaults to true. */
    allowConsoleLog?: boolean;
}
interface InternalMetabaseProviderProps extends MetabaseProviderProps {
    store: Store<SdkStoreState, Action>;
}
export declare const MetabaseProviderInternal: ({ children, authConfig, pluginsConfig, eventHandlers, theme, store, className, locale, errorComponent, loaderComponent, allowConsoleLog, }: InternalMetabaseProviderProps) => JSX.Element;
export declare const MetabaseProvider: import("react").NamedExoticComponent<MetabaseProviderProps>;
export {};
