import { DeclarativeDataset, DeclarativeLdm, ImportCsvRequest, ReadCsvFileManifestsResponse } from "@gooddata/api-client-tiger"; import { ITigerSpecificFunctions } from "../../lib/tigerSpecificFunctions"; import { DeclarativeLogicalModel, IDataSourceApiResult, IDataSourceConnectionInfo } from "@gooddata/sdk-backend-tiger"; import { IAnalyzedData, ICsvAnalyzeContext } from "../types/types"; import { IAnalyticalBackend } from "@gooddata/sdk-backend-spi"; import { IWorkspaceDescriptor } from "@gooddata/sdk-backend-spi/esm/workspace"; import { IDatasetColumn } from "../PreviewDialog/types"; import { DataSourceInfo } from "../../HOCs/types"; export declare const CSV_WORKSPACE_ID = "gdc_csv_first_ws"; export declare const DEFAULT_DATASOURCE_NAME = "Untitled CSV data source"; export declare const DEFAULT_FIRST_WORKSPACE_NAME = "Your First Workspace"; export declare const findExistingCsvWorkspace: (backend: IAnalyticalBackend) => Promise; export declare const findExistingCsvLdm: (tigerSpecificFunctions: ITigerSpecificFunctions) => Promise; export declare const findExistingCsvDataset: (ldm: DeclarativeLdm) => DeclarativeDataset | undefined; export declare const createCsvDataSource: (tigerSpecificFunctions: ITigerSpecificFunctions, dataSourceName?: string) => Promise; export declare const updateCsvDataSource: (tigerSpecificFunctions: ITigerSpecificFunctions, dataSourceInfo: DataSourceInfo) => Promise; export declare const analyzeFile: (tigerSpecificFunctions: ITigerSpecificFunctions, location: string, fileName: string, converterVersion?: number, forceHasHeader?: boolean) => Promise; /** * Lookup if a dataset in LDM with all fields are mapped to the CSV columns. * If so, users will edit the dataset existing fields (change fact/attribute/date title, but keep ID) instead of creating new fields. * Return IProvisioningWorkspace with existing ldm/dataset. */ export declare const buildCsvAnalyzeContext: (dataSource: IDataSourceConnectionInfo, analyzedData: IAnalyzedData, enableMergeLdm: boolean, originalFileName?: string, originalManifest?: ReadCsvFileManifestsResponse, workspace?: IWorkspaceDescriptor, ldm?: DeclarativeLdm) => ICsvAnalyzeContext; export declare const buildCsvImportRequest: (analyzedData: IAnalyzedData, tableName: string, datasetColumns: IDatasetColumn[], handleColumnTypes?: boolean) => ImportCsvRequest; export declare const provisionFirstWorkspace: (tigerSpecificFunctions: ITigerSpecificFunctions) => Promise; /** * Check if the csv is re-load or new upload: * - If reupload, CSV table name should be same as in mapped dataset. * - If new upload, generate CSV table name from CSV filename */ export declare const buildCsvTableName: (importCsvContext: ICsvAnalyzeContext, datasetName: string) => string;