import { TigerSpecificFunctions, IDataSourceUpsertRequest, IDataSourceTestConnectionRequest, IDataSourceApiResult, IDataSourceTestConnectionResponse, IDataSourceConnectionInfo, IDataSourceDeletedResponse, IDataSourcePatchRequest, ApiEntitlement, DataSourceDefinition, DeclarativeLogicalModel } from "@gooddata/sdk-backend-tiger";
import { IUser } from "@gooddata/sdk-model";
import { AnalyzeCsvRequest, AnalyzeCsvResponse, ImportCsvRequest, StagingUploadLocation } from "@gooddata/api-client-tiger";
export interface ITigerSpecificFunctions {
    getAllDataSources: () => Promise<IDataSourceConnectionInfo[]>;
    getDataSourceById: (id: string) => Promise<IDataSourceApiResult>;
    createDataSource: (requestData: IDataSourceUpsertRequest) => Promise<IDataSourceApiResult>;
    updateDataSource: (id: string, requestData: IDataSourceUpsertRequest) => Promise<IDataSourceApiResult>;
    patchDataSource: (id: string, requestData: IDataSourcePatchRequest) => Promise<IDataSourceApiResult>;
    deleteDataSource: (id: string) => Promise<IDataSourceDeletedResponse>;
    resolveAllEntitlements: () => Promise<ApiEntitlement[]>;
    testDataSourceConnection: (connectionData: IDataSourceTestConnectionRequest, id?: string) => Promise<IDataSourceTestConnectionResponse>;
    getEntityUser: (id: string) => Promise<IUser | null>;
    createDemoDataSource: (sampleDataSource: DataSourceDefinition) => Promise<string>;
    getStagingUploadLocation: (dataSourceId: string) => Promise<StagingUploadLocation>;
    analyzeCsv: (dataSourceId: string, analyzeCsvRequest: AnalyzeCsvRequest) => Promise<AnalyzeCsvResponse[]>;
    importCsv: (dataSourceId: string, importCsvRequest: ImportCsvRequest) => Promise<void>;
    createWorkspace: (id: string, name: string) => Promise<string>;
    publishLogicalModel: (workspaceId: string, ldm: DeclarativeLogicalModel) => Promise<void>;
    getWorkspaceLogicalModel: (workspaceId: string) => Promise<DeclarativeLogicalModel>;
}
export declare class TigerSpecificFunctionsProxy implements ITigerSpecificFunctions {
    private static getErrorMessage;
    private static printMissingImplWarning;
    private tigerSpecificFunctionsImpl;
    updateSpecificFunctionsImplementation: (impl: TigerSpecificFunctions) => void;
    getAllDataSources: () => Promise<IDataSourceConnectionInfo[]>;
    getDataSourceById: (id: string) => Promise<{}>;
    createDataSource: (requestData: IDataSourceUpsertRequest) => Promise<{}>;
    updateDataSource: (id: string, requestData: IDataSourceUpsertRequest) => Promise<{}>;
    patchDataSource: (id: string, requestData: IDataSourcePatchRequest) => Promise<{}>;
    deleteDataSource: (id: string) => Promise<{}>;
    testDataSourceConnection: (connectionData: IDataSourceTestConnectionRequest, id?: string) => Promise<{
        successful: boolean;
    }>;
    resolveAllEntitlements: () => Promise<ApiEntitlement[]>;
    getEntityUser: (id: string) => Promise<null> | Promise<IUser>;
    createDemoDataSource: (dataSourceDefinition: DataSourceDefinition) => Promise<string>;
    getStagingUploadLocation(dataSourceId: string): Promise<StagingUploadLocation>;
    analyzeCsv(dataSourceId: string, analyzeCsvRequest: AnalyzeCsvRequest): Promise<AnalyzeCsvResponse[]>;
    importCsv(dataSourceId: string, importCsvRequest: ImportCsvRequest): Promise<void>;
    createWorkspace(id: string, name: string): Promise<string>;
    publishLogicalModel(workspaceId: string, ldm: DeclarativeLogicalModel): Promise<void>;
    getWorkspaceLogicalModel(workspaceId: string): Promise<DeclarativeLogicalModel>;
}
