import type { MetabaseAuthConfig } from "../types";
import type { SdkUsageProblem, SdkUsageProblemKey } from "../types/usage-problem";
interface SdkProblemOptions {
    authConfig: MetabaseAuthConfig;
    isEnabled: boolean;
    hasTokenFeature: boolean;
}
export declare const USAGE_PROBLEM_MESSAGES: {
    readonly API_KEYS_WITHOUT_LICENSE: "The embedding SDK is using API keys. This is intended for evaluation purposes and works only on localhost. To use on other sites, a license is required and you need to implement SSO.";
    readonly API_KEYS_WITH_LICENSE: "The embedding SDK is using API keys. This is intended for evaluation purposes and works only on localhost. To use on other sites, implement SSO.";
    readonly SSO_WITHOUT_LICENSE: "Usage without a valid license for this feature is only allowed for evaluation purposes, using API keys and only on localhost. Attempting to use this in other ways is in breach of our usage policy.";
    readonly CONFLICTING_AUTH_METHODS: "You cannot use both an Auth Provider URI and API key authentication at the same time.";
    readonly JWT_PROVIDER_URI_DEPRECATED: "The jwtProviderUri config property has been deprecated. Replace it with authProviderUri.";
    readonly NO_AUTH_METHOD_PROVIDED: "You must provide either an Auth Provider URI or an API key for authentication.";
    readonly EMBEDDING_SDK_NOT_ENABLED: "The embedding SDK is not enabled for this instance. Please enable it in settings to start using the SDK.";
};
export declare const SDK_AUTH_DOCS_URL = "https://www.metabase.com/docs/latest/embedding/sdk/authentication#authenticating-people-from-your-server";
export declare const METABASE_UPGRADE_URL = "https://www.metabase.com/upgrade";
export declare const SDK_INTRODUCTION_DOCS_URL = "https://www.metabase.com/docs/latest/embedding/sdk/introduction#in-metabase";
/** Documentation for each kind of SDK usage problems */
export declare const USAGE_PROBLEM_DOC_URLS: Record<SdkUsageProblemKey, string>;
/**
 * Determine whether is a problem with user's use case of the embedding sdk.
 * This is determined by their license and the auth method they are using.
 */
export declare function getSdkUsageProblem(options: SdkProblemOptions): SdkUsageProblem | null;
export {};
