import { TigerSpecificFunctions, IDataSourceUpsertRequest, IDataSourceTestConnectionRequest, IDataSourceApiResult, IDataSourceTestConnectionResponse, IDataSourceConnectionInfo, IDataSourceDeletedResponse, IDataSourcePatchRequest, ApiEntitlement, DataSourceDefinition, SetPdmLayoutRequest } from "@gooddata/sdk-backend-tiger";
import { IUser } from "@gooddata/sdk-model";
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>;
    setPdmLayout: (requestParameters: SetPdmLayoutRequest) => 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 | undefined) => Promise<{
        successful: boolean;
    }>;
    resolveAllEntitlements: () => Promise<ApiEntitlement[]>;
    getEntityUser: (id: string) => Promise<null> | Promise<IUser>;
    createDemoDataSource: (dataSourceDefinition: DataSourceDefinition) => Promise<string>;
    setPdmLayout: (requestParameters: SetPdmLayoutRequest) => Promise<void>;
}
