import type { PasswordComplexity, SettingKey, Settings } from "../../metabase-types/api";
type SettingListener = (value: any) => void;
declare class MetabaseSettings {
    _settings: Partial<Settings>;
    _listeners: Partial<{
        [key: string]: SettingListener[];
    }>;
    constructor(settings?: Partial<Settings>);
    /**
     * @deprecated use getSetting(state, key)
     */
    get<T extends SettingKey>(key: T): Partial<Settings>[T];
    /**
     * @deprecated set setting values in the redux store
     */
    set<T extends SettingKey>(key: T, value: Settings[T]): void;
    /**
     * @deprecated set setting values in the redux store
     */
    setAll(settings: Settings): void;
    /**
     * @deprecated call appropriate actions when modifying the setting
     */
    on(key: SettingKey, callback: SettingListener): void;
    /**
     * @deprecated use getSetting(state, "admin-email")
     */
    adminEmail(): string | undefined;
    /**
     * @deprecated use getSetting(state, "enable-enhancements?")
     */
    enhancementsEnabled(): boolean | undefined;
    /**
     * @deprecated use getSetting(state, "email-configured?")
     */
    isEmailConfigured(): boolean;
    /**
     * @deprecated use getSetting(state, "is-hosted?")
     */
    isHosted(): boolean;
    /**
     * @deprecated use getSetting(state, "cloud-gateway-ips")
     */
    cloudGatewayIps(): string[];
    /**
     * @deprecated use getSetting(state, "hide-embed-branding?")
     */
    hideEmbedBranding(): boolean | undefined;
    /**
     * @deprecated use getSetting(state, "google-auth-enabled")
     */
    isGoogleAuthEnabled(): boolean | undefined;
    /**
     * @deprecated use getSetting(state, "ldap-enabled")
     */
    isLdapEnabled(): boolean | undefined;
    /**
     * @deprecated use getSetting(state, "ldap-configured?")
     */
    isLdapConfigured(): boolean | undefined;
    /**
     * @deprecated use getSetting(state, "other-sso-enabled?")
     */
    isOtherSsoEnabled(): boolean | undefined;
    /**
     * @deprecated use getSetting(state, "enable-password-login")
     */
    isPasswordLoginEnabled(): boolean | undefined;
    /**
     * @deprecated use getSetting(state, "anon-tracking-enabled")
     */
    trackingEnabled(): boolean;
    /**
     * @deprecated use getSetting(state, "anon-tracking-enabled")
     */
    uploadsEnabled(): boolean;
    /**
     * @deprecated use getSetting(state, "snowplow-enabled")
     */
    snowplowEnabled(): boolean;
    /**
     * @deprecated use getSetting(state, "snowplow-url")
     */
    snowplowUrl(): string | undefined;
    /**
     * @deprecated use getSetting(state, "deprecation-notice-version")
     */
    deprecationNoticeVersion(): string | undefined;
    deprecationNoticeEnabled(): boolean;
    /**
     * @deprecated use getSetting(state, "premium-embedding-token")
     */
    token(): string | null | undefined;
    /**
     * @deprecated use getSetting(state, "custom-formatting")
     */
    formattingOptions(): import("..-types/api").DateFormattingSettings;
    versionInfoLastChecked(): string;
    /**
     * @deprecated use getSetting(state, "version-info")
     */
    versionInfo(): import("..-types/api").VersionInfo;
    /**
     * @deprecated use getSetting(state, "version")
     */
    currentVersion(): string | undefined;
    /**
     * @deprecated use getSetting(state, "password-complexity")
     */
    passwordComplexityRequirements(): PasswordComplexity;
    /**
     * Returns a description of password complexity requirements.
     * Optionally takes a password and returns a description only including the requirements not met.
     */
    passwordComplexityDescription(password?: string): string | null;
    /**
     * @deprecated use getSetting(state, "subscription-allowed-domains")
     */
    subscriptionAllowedDomains(): string[];
}
declare const settings: MetabaseSettings;
export default settings;
