import type { TokenStatus, Version } from "../../metabase-types/api";
import type { State } from "../../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("..-types/store").SettingsState) => boolean;
    memoizedResultFunc: ((resultFuncArgs_0: import("..-types/store").SettingsState) => boolean) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => boolean;
    dependencies: [(state: State) => import("..-types/store").SettingsState];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: 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 isSsoEnabled: (state: State) => boolean;
export declare const getStoreUrl: (path?: string) => string;
export declare const migrateToCloudGuideUrl: () => string;
export declare const getLearnUrl: (path?: string) => string;
export type UtmProps = {
    utm_source?: string;
    utm_medium?: string;
    utm_campaign?: string;
    utm_content?: string;
};
type UrlWithUtmProps = {
    url: string;
} & UtmProps;
export declare const getUrlWithUtm: ((state: State, props: {
    url: string;
} & UtmProps) => string) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: UrlWithUtmProps, resultFuncArgs_1: import("../common/utils/plan").Plan) => string;
    memoizedResultFunc: ((resultFuncArgs_0: UrlWithUtmProps, resultFuncArgs_1: import("../common/utils/plan").Plan) => string) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => string;
    dependencies: [(state: State, props: UrlWithUtmProps) => UrlWithUtmProps, (state: State) => import("../common/utils/plan").Plan];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
interface DocsUrlProps {
    page?: string;
    anchor?: string;
    utm?: UtmProps;
}
export declare const getDocsUrl: (state: State, props: DocsUrlProps) => string;
export declare const getDocsSearchUrl: (query: Record<string, string>) => string;
export declare const getDocsUrlForVersion: (version: Version | undefined, page?: string, anchor?: string) => string;
interface UpgradeUrlOpts {
    utm_campaign?: string;
    utm_content: string;
}
export declare const getUpgradeUrl: ((state: State, utmTags: UpgradeUrlOpts) => string) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: import("../common/utils/plan").Plan, resultFuncArgs_1: number | undefined, resultFuncArgs_2: UpgradeUrlOpts) => string;
    memoizedResultFunc: ((resultFuncArgs_0: import("../common/utils/plan").Plan, resultFuncArgs_1: number | undefined, resultFuncArgs_2: UpgradeUrlOpts) => string) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => string;
    dependencies: [(state: State) => import("../common/utils/plan").Plan, (state: State) => number | undefined, (_state: State, utmTags: UpgradeUrlOpts) => UpgradeUrlOpts];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: 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;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
export {};
