import type { TokenStatus, Version } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api";
import type { State } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/store";
export declare const getSettings: <S extends State>(state: S) => GetSettings<S>;
export declare const getSettingsLoading: ((state: State) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/store").SettingsState) => boolean;
    memoizedResultFunc: ((resultFuncArgs_0: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/store").SettingsState) => boolean) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => boolean;
    dependencies: [(state: State) => import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/store").SettingsState];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    memoize: typeof import("reselect").weakMapMemoize;
    argsMemoize: typeof import("reselect").weakMapMemoize;
};
type GetSettings<S extends State> = S["settings"]["values"];
export declare const getSetting: <S extends State, T extends keyof GetSettings<S>>(state: S, key: T) => GetSettings<S>[T];
export declare const getStoreUrl: (path?: string) => string;
export declare const getLearnUrl: (path?: string) => string;
interface DocsUrlProps {
    page?: string;
    anchor?: string;
}
export declare const getDocsUrl: ((state: State, props: DocsUrlProps) => string) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: Version, resultFuncArgs_1: string | undefined, resultFuncArgs_2: string | undefined) => string;
    memoizedResultFunc: ((resultFuncArgs_0: Version, resultFuncArgs_1: string | undefined, resultFuncArgs_2: string | undefined) => string) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => string;
    dependencies: [(state: State) => Version, (state: State, props: DocsUrlProps) => string | undefined, (state: State, props: DocsUrlProps) => string | undefined];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    memoize: typeof import("reselect").weakMapMemoize;
    argsMemoize: typeof import("reselect").weakMapMemoize;
};
export declare const getDocsSearchUrl: (query: Record<string, string>) => string;
export declare const getDocsUrlForVersion: (version: Version | undefined, page?: string, anchor?: string) => string;
interface UpgradeUrlOpts {
    utm_media: string;
}
export declare const getUpgradeUrl: ((state: State, opts: UpgradeUrlOpts) => string) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase/common/utils/plan").Plan, resultFuncArgs_1: number | undefined, resultFuncArgs_2: string) => string;
    memoizedResultFunc: ((resultFuncArgs_0: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase/common/utils/plan").Plan, resultFuncArgs_1: number | undefined, resultFuncArgs_2: string) => string) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => string;
    dependencies: [(state: State) => import("@metabase/embedding-sdk-react/dist/frontend/src/metabase/common/utils/plan").Plan, (state: State) => number | undefined, (state: State, opts: UpgradeUrlOpts) => string];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    memoize: typeof import("reselect").weakMapMemoize;
    argsMemoize: typeof import("reselect").weakMapMemoize;
};
/**
 * ! The tokenStatus is only visible to admins
 */
export declare const getIsPaidPlan: ((state: State) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: TokenStatus | null) => boolean;
    memoizedResultFunc: ((resultFuncArgs_0: TokenStatus | null) => boolean) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => boolean;
    dependencies: [(state: State) => TokenStatus | null];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    memoize: typeof import("reselect").weakMapMemoize;
    argsMemoize: typeof import("reselect").weakMapMemoize;
};
export {};
