import { TigerSpecificFunctions, IDataSourceUpsertRequest, IDataSourceTestConnectionRequest, IDataSourceApiResult, IDataSourceTestConnectionResponse, IDataSourceConnectionInfo, IDataSourceDeletedResponse, IDataSourcePatchRequest, ApiEntitlement, DataSourceDefinition, DeclarativeLogicalModel, ScanResult, ScanRequest } from "@gooddata/sdk-backend-tiger";
import { IUser } from "@gooddata/sdk-model";
import { AnalyzeCsvRequest, AnalyzeCsvResponse, ImportCsvRequest, GdStorageFile, UploadFileResponse, ReadCsvFileManifestsResponse, ImportCsvResponse } 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>;
    scanDataSource: (dataSourceId: string, scanRequest: ScanRequest) => Promise<ScanResult>;
    getEntityUser: (id: string) => Promise<IUser>;
    createDemoDataSource: (sampleDataSource: DataSourceDefinition) => Promise<string>;
    stagingUpload: (file: File) => Promise<UploadFileResponse>;
    analyzeCsv: (analyzeCsvRequest: AnalyzeCsvRequest) => Promise<AnalyzeCsvResponse[]>;
    importCsv: (dataSourceId: string, importCsvRequest: ImportCsvRequest) => Promise<ImportCsvResponse[]>;
    listFiles: (dataSourceId: string) => Promise<GdStorageFile[]>;
    deleteFiles: (dataSourceId: string, fileIds: string[]) => Promise<void>;
    readFileManifests: (dataSourceId: string, fileNames: string[]) => Promise<ReadCsvFileManifestsResponse[]>;
    createWorkspace: (id: string, name: string) => Promise<string>;
    publishLogicalModel: (workspaceId: string, ldm: DeclarativeLogicalModel) => Promise<void>;
    getWorkspaceLogicalModel: (workspaceId: string) => Promise<DeclarativeLogicalModel>;
    registerUploadNotification: (dataSourceId: string) => Promise<void>;
}
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<IUser>;
    createDemoDataSource: (dataSourceDefinition: DataSourceDefinition) => Promise<string>;
    stagingUpload(file: File): Promise<UploadFileResponse>;
    analyzeCsv(analyzeCsvRequest: AnalyzeCsvRequest): Promise<AnalyzeCsvResponse[]>;
    importCsv(dataSourceId: string, importCsvRequest: ImportCsvRequest): Promise<ImportCsvResponse[]>;
    listFiles(dataSourceId: string): Promise<GdStorageFile[]>;
    deleteFiles(dataSourceId: string, fileNames: string[]): Promise<void>;
    readFileManifests(dataSourceId: string, fileNames: string[]): Promise<ReadCsvFileManifestsResponse[]>;
    createWorkspace(id: string, name: string): Promise<string>;
    publishLogicalModel(workspaceId: string, ldm: DeclarativeLogicalModel): Promise<void>;
    getWorkspaceLogicalModel(workspaceId: string): Promise<DeclarativeLogicalModel>;
    scanDataSource(dataSourceId: string, scanRequest: ScanRequest): Promise<ScanResult>;
    registerUploadNotification(dataSourceId: string): Promise<void>;
}
