import type { DatabaseData, LocaleData, TokenFeature } from "../../metabase-types/api";
import type { InviteInfo, Locale, State, UserInfo } from "../../metabase-types/store";
import type { SetupStep } from "./types";
export declare const getStep: (state: State) => SetupStep;
export declare const getLocale: (state: State) => Locale | undefined;
export declare const getUser: (state: State) => UserInfo | undefined;
export declare const getUserEmail: (state: State) => string | undefined;
export declare const getUsageReason: (state: State) => import("..-types/api").UsageReason | undefined;
export declare const getDatabase: (state: State) => DatabaseData | undefined;
export declare const getInvite: (state: State) => InviteInfo | undefined;
export declare const getIsLocaleLoaded: (state: State) => boolean;
export declare const getIsTrackingAllowed: (state: State) => boolean;
export declare const getIsStepActive: (state: State, step: SetupStep) => boolean;
export declare const getIsStepCompleted: (state: State, step: SetupStep) => boolean;
export declare const getIsSetupCompleted: (state: State) => boolean;
export declare const getDatabaseEngine: (state: State) => string | undefined;
export declare const getSetupToken: (state: State) => string | null;
export declare const getIsHosted: (state: State) => boolean;
export declare const getTokenFeature: (state: State, feature: TokenFeature) => boolean;
export declare const getAvailableLocales: (state: State) => LocaleData[];
export declare const getIsEmailConfigured: (state: State) => boolean;
export declare const getSteps: ((state: State) => {
    key: SetupStep;
    isActiveStep: boolean;
}[]) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: import("..-types/api").UsageReason | undefined, resultFuncArgs_1: SetupStep, resultFuncArgs_2: import("..-types/api").TokenFeatures, resultFuncArgs_3: string | null | undefined) => {
        key: SetupStep;
        isActiveStep: boolean;
    }[];
    memoizedResultFunc: ((resultFuncArgs_0: import("..-types/api").UsageReason | undefined, resultFuncArgs_1: SetupStep, resultFuncArgs_2: import("..-types/api").TokenFeatures, resultFuncArgs_3: string | null | undefined) => {
        key: SetupStep;
        isActiveStep: boolean;
    }[]) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => {
        key: SetupStep;
        isActiveStep: boolean;
    }[];
    dependencies: [(state: State) => import("..-types/api").UsageReason | undefined, (state: State) => SetupStep, (state: State) => import("..-types/api").TokenFeatures, (state: State) => string | null | undefined];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
export declare const getNextStep: (state: State) => SetupStep;
