import { RVDashboardDataSource } from "./RVDashboardDataSource";
import { IKnownType, nullableString } from "../types";
/**
 * The basic class for data source items that can be used by visualizations to get data.
 * When getting data from a database for example, the data source object contains the information required to connect
 * to the database (like server host and database name) and the data source item contains
 * the information required to get the dataset itself (like table name or view name).
 */
export declare abstract class RVDataSourceItem implements IKnownType {
    private _defaultRefreshRate;
    /** @hidden */
    constructor(json: any);
    constructor(dataSource: RVDashboardDataSource);
    /** @hidden */
    static dataSourceFactory: (json: any) => RVDashboardDataSource;
    /** @hidden */
    static dataSourceItemFactory: (json: any) => RVDataSourceItem;
    /** @hidden */
    toJson(): any;
    private _title;
    /** The title of the item, as displayed to the user, it might be for example the name of the table in a database. */
    get title(): nullableString;
    set title(value: nullableString);
    private _subtitle;
    /** The subtitle of the data source, if not null will be displayed to users instead of connection information like host and database name. */
    get subtitle(): nullableString;
    set subtitle(value: nullableString);
    private _id;
    /** The value that identifies this item in the data source, it might be for example the name of the schema concatenated with the table name. */
    get id(): nullableString;
    set id(value: nullableString);
    private _description;
    /** Description of this data source item. */
    get description(): nullableString;
    set description(value: nullableString);
    private _dataSource;
    /**
     * Reference to the data source object this item belongs to.
     */
    get dataSource(): RVDashboardDataSource;
    set dataSource(value: RVDashboardDataSource);
    /**
     * Default value to use for "Refresh Data" setting for visualizations created using this item, expressed in minutes (e.g. 1440 = 1 day).
     * A value of N means that whenever the visualization requests data, the engine will return data found in the cache if it's not older than N minutes -this means, if the engine fetched it from the datasource no more than N minutes before-. If not set it will use the default value set in the data source object.
     */
    set defaultRefreshRate(v: number | null);
    get defaultRefreshRate(): number | null;
    /** @hidden */
    abstract getType(): string;
    /** @hidden */
    _createWrapperInstance(isResourceBased?: Boolean): any;
    /** @hidden */
    _getWrapper(isResourceBased?: Boolean): any;
}
