import { DataSource, type DataSourceInfo } from '@sisense/sdk-data'; export type DataSourceObject = { title: string; id: string; }; export declare const toDataSourceObject: (dataSource: DataSource) => DataSourceObject; export declare const getDataSourceId: (dataSource: DataSource) => string; export declare const getDataSourceTitle: (dataSource: DataSource) => string; /** * Resolves the user-visible label of a data source: the first non-blank display name, else `title`. * Display only — queries and matching must keep using `title`. * * @param title - Identity name of the data source. * @param displayNames - Candidate display names, in priority order. * @returns The label to render. */ export declare const toDataSourceLabel: (title: string, ...displayNames: ReadonlyArray) => string; /** * A data source that can be labelled: its title, or an object with a title, such as * {@link DataSourceInfo} or the data source of an attribute. */ export type LabelableDataSource = string | Pick; /** * Resolves the user-visible label of a data source: its server-provided display name, looked up * by `title`, else `title`. * * @param dataSource - Data source to label. * @param serverDisplayNames - Display names by data source title, as returned by the server. * @returns The label to render. */ export declare const getDataSourceLabel: (dataSource: LabelableDataSource, serverDisplayNames?: ReadonlyMap) => string;