import { IKnownType, nullableString } from "../types";
/**
 * The base class representing a data source used in a dashboard, you can
 * RVDataSourceItem for more information about the relationship between data source and data source items.
 */
export declare abstract class RVDashboardDataSource implements IKnownType {
    private _id;
    private _defaultRefreshRate;
    /**
     * The ID of the data source
     */
    get id(): nullableString;
    set id(value: nullableString);
    private _title;
    /**
     *  The title of the data source as displayed to users.
     */
    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);
    get defaultRefreshRate(): number | null;
    /**
    * 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-. Set it to override the widget editor default behavior.
    */
    set defaultRefreshRate(v: number | null);
    /** @hidden */
    constructor(json?: any);
    /** @hidden */
    toJson(): any;
    /** @hidden */
    abstract getProviderKey(): string;
    /** @hidden */
    abstract getType(): string;
    /** @hidden */
    _createWrapperInstance(): any;
    /** @hidden */
    _getWrapper(): any;
}
