import { IDataSourceUpsertRequest, IDataSourcePatchRequest, IDataSourceTestConnectionRequest, IDataSourceTestConnectionResponse, IDataSourceConnectionInfo, IDataSourceType } from "@gooddata/sdk-backend-tiger";
export declare enum DataSourceType {
    POSTGRESQL = "POSTGRESQL",
    SNOWFLAKE = "SNOWFLAKE",
    REDSHIFT = "REDSHIFT",
    VERTICA = "VERTICA",
    DREMIO = "DREMIO",
    DRILL = "DRILL",
    BIGQUERY = "BIGQUERY",
    GREENPLUM = "GREENPLUM",
    MSSQL = "MSSQL",
    AZURESQL = "AZURESQL",
    SYNAPSESQL = "SYNAPSESQL",
    DATABRICKS = "DATABRICKS",
    CLICKHOUSE = "CLICKHOUSE",
    GDSTORAGE = "GDSTORAGE"
}
export declare enum IWarehouseType {
    snowflake = "snowflake",
    postgres = "postgres",
    redshift = "redshift",
    vertica = "vertica",
    dremio = "dremio",
    drill = "drill",
    bigQuery = "bigQuery",
    greenplum = "greenplum",
    databricks = "databricks",
    clickhouse = "clickhouse"
}
export interface ISavingDataSourceFailMessage {
    errorMsg: string;
    showOnSchemaForm: boolean;
}
export interface IConnectionFormProps {
    editMode?: boolean;
    onFormValidation?: (validationStatus: boolean, readyToSubmit: boolean) => void;
    datasourceType?: IDataSourceType;
    isConnectDemoDataVisible?: boolean;
}
export interface IConnectionFormRef {
    getDataSourceUpsertRequest: () => IDataSourceUpsertRequest;
    getDataSourcePatchRequest: () => IDataSourcePatchRequest;
    getDataSourceTestConnectionRequest: () => IDataSourceTestConnectionRequest;
    validateForm: (isDSNameMatter: boolean, dataSourceName?: string) => boolean;
    isConnectionFormDirty: () => boolean;
    getTotalPhasesNum: () => number;
    populateConnectionInfo: (connectionInfo: IDataSourceConnectionInfo) => void;
    onConnectionTestingCompleted: (result: IDataSourceTestConnectionResponse) => void;
    onSavingDataSourceFailed: (errorMsg: string) => void;
    resetPreviousConnectionTestingResult: () => void;
    backToPreviousPhase: () => void;
}
