export function DataSourceSelector(props: any): import("react/jsx-runtime").JSX.Element;
export function DatabaseDataSelector(props: any): import("react/jsx-runtime").JSX.Element;
export function DatabaseSchemaAndTableDataSelector(props: any): import("react/jsx-runtime").JSX.Element;
export function SchemaAndTableDataSelector(props: any): import("react/jsx-runtime").JSX.Element;
export function SchemaTableAndFieldDataSelector(props: any): import("react/jsx-runtime").JSX.Element;
export function FieldDataSelector(props: any): import("react/jsx-runtime").JSX.Element;
export class UnconnectedDataSelector extends Component<any, any, any> {
    static propTypes: {
        selectedDataBucketId: PropTypes.Requireable<string>;
        selectedDatabaseId: PropTypes.Requireable<number>;
        selectedSchemaId: PropTypes.Requireable<string>;
        selectedTableId: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        selectedFieldId: PropTypes.Requireable<number>;
        databases: PropTypes.Validator<any[]>;
        setDatabaseFn: PropTypes.Requireable<(...args: any[]) => any>;
        setFieldFn: PropTypes.Requireable<(...args: any[]) => any>;
        setSourceTableFn: PropTypes.Requireable<(...args: any[]) => any>;
        hideSingleSchema: PropTypes.Requireable<boolean>;
        hideSingleDatabase: PropTypes.Requireable<boolean>;
        useOnlyAvailableDatabase: PropTypes.Requireable<boolean>;
        useOnlyAvailableSchema: PropTypes.Requireable<boolean>;
        isInitiallyOpen: PropTypes.Requireable<boolean>;
        tableFilter: PropTypes.Requireable<(...args: any[]) => any>;
        canChangeDatabase: PropTypes.Requireable<boolean>;
        containerClassName: PropTypes.Requireable<string>;
        canSelectMetric: PropTypes.Requireable<boolean>;
        allError: PropTypes.Requireable<boolean>;
        allFetched: PropTypes.Requireable<boolean>;
        allLoaded: PropTypes.Requireable<boolean>;
        allLoading: PropTypes.Requireable<boolean>;
        loaded: PropTypes.Requireable<boolean>;
        loading: PropTypes.Requireable<boolean>;
        fetched: PropTypes.Requireable<boolean>;
        fetch: PropTypes.Requireable<(...args: any[]) => any>;
        create: PropTypes.Requireable<(...args: any[]) => any>;
        update: PropTypes.Requireable<(...args: any[]) => any>;
        delete: PropTypes.Requireable<(...args: any[]) => any>;
        reload: PropTypes.Requireable<(...args: any[]) => any>;
        list: PropTypes.Requireable<(object | null | undefined)[]>;
        allDatabases: PropTypes.Requireable<(object | null | undefined)[]>;
    };
    static defaultProps: {
        isInitiallyOpen: boolean;
        useOnlyAvailableDatabase: boolean;
        useOnlyAvailableSchema: boolean;
        hideSingleSchema: boolean;
        hideSingleDatabase: boolean;
        canChangeDatabase: boolean;
        hasTriggerExpandControl: boolean;
        isPopover: boolean;
        isMantine: boolean;
        canSelectMetric: boolean;
    };
    constructor(props: any);
    state: {
        databases: any;
        selectedDatabase: null;
        schemas: any;
        selectedSchema: null;
        tables: any;
        selectedTable: null;
        fields: any;
        selectedField: null;
        selectedDataBucketId: any;
        selectedDatabaseId: any;
        selectedSchemaId: any;
        selectedTableId: any;
        selectedFieldId: any;
        isSavedEntityPickerShown: boolean;
        savedEntityType: null;
        isPopoverOpen: any;
        activeStep: null;
        isLoading: boolean;
        isError: boolean;
    };
    isPopoverOpen(): any;
    _getComputedState(props: any, state: any): {
        databases: any;
        selectedDatabase: null;
        schemas: any;
        selectedSchema: null;
        tables: any;
        selectedTable: null;
        fields: any;
        selectedField: null;
    };
    setStateWithComputedState(newState: any, newProps?: Readonly<any>): Promise<any>;
    UNSAFE_componentWillReceiveProps(nextProps: any): void;
    componentDidMount(): Promise<void>;
    componentDidUpdate(prevProps: any): Promise<void>;
    isSearchLoading: () => any;
    getCardType(): "question" | "metric" | "model";
    hasModels: () => any;
    hasUsableModels: () => any;
    hasMetrics: () => any;
    hasUsableMetrics: () => any;
    hasUsableModelsOrMetrics: () => any;
    hasSavedQuestions: () => any;
    getDatabases: () => any;
    hydrateActiveStep(): Promise<void>;
    skipSteps(): void;
    getNextStep(): any;
    getPreviousStep(): any;
    togglePopoverOpen: () => void;
    nextStep: (stateChange?: {}, skipSteps?: boolean) => Promise<void>;
    previousStep: () => void;
    getClearedStateForStep(step: any): {
        selectedDataBucketId: null;
        selectedDatabaseId: null;
        selectedSchemaId: null;
        selectedTableId: null;
        selectedFieldId: null;
    } | {
        selectedDatabaseId: null;
        selectedSchemaId: null;
        selectedTableId: null;
        selectedFieldId: null;
        selectedDataBucketId?: undefined;
    } | {
        selectedSchemaId: null;
        selectedTableId: null;
        selectedFieldId: null;
        selectedDataBucketId?: undefined;
        selectedDatabaseId?: undefined;
    } | {
        selectedTableId: null;
        selectedFieldId: null;
        selectedDataBucketId?: undefined;
        selectedDatabaseId?: undefined;
        selectedSchemaId?: undefined;
    } | {
        selectedFieldId: null;
        selectedDataBucketId?: undefined;
        selectedDatabaseId?: undefined;
        selectedSchemaId?: undefined;
        selectedTableId?: undefined;
    } | {
        selectedDataBucketId?: undefined;
        selectedDatabaseId?: undefined;
        selectedSchemaId?: undefined;
        selectedTableId?: undefined;
        selectedFieldId?: undefined;
    };
    loadStepData(stepName: any): Promise<void>;
    hasPreloadedStepData(stepName: any): any;
    switchToStep: (stepName: any, stateChange?: {}, skipSteps?: boolean) => Promise<void>;
    showSavedEntityPicker: ({ entityType }: {
        entityType: any;
    }) => void;
    onChangeDataBucket: (selectedDataBucketId: any) => Promise<void>;
    onChangeDatabase: (database: any) => Promise<void>;
    onChangeSchema: (schema: any) => Promise<void>;
    onChangeTable: (table: any) => Promise<void>;
    onChangeField: (field: any) => Promise<void>;
    getTriggerElement: (triggerProps: any) => any;
    getTriggerClasses(): string;
    handleSavedEntityPickerClose: () => void;
    renderActiveStep(): import("react/jsx-runtime").JSX.Element | null;
    isSavedEntitySelected: () => boolean;
    handleSavedEntitySelect: (tableOrCardId: any) => Promise<void>;
    handleClose: () => void;
    hasDataAccess: () => any;
    renderContent: () => import("react/jsx-runtime").JSX.Element | null;
    render(): import("react/jsx-runtime").JSX.Element | null;
}
import { Component } from "react";
import PropTypes from "prop-types";
