import { RVDashboardDataSource } from "../AbstractClasses/RVDashboardDataSource";
import { nullableString } from "../types";
/** REST API data source, configures the URL to get data from, HTTP method to use and optionally headers and body to send in the request. */
export declare class RVRESTDataSource extends RVDashboardDataSource {
    constructor();
    /** @hidden */
    constructor(json: any);
    /** @hidden */
    toJson(): any;
    /** @hidden */
    getProviderKey(): string;
    private _url;
    /** URL to the web resource, is expected to be a URL with HTTP or HTTPS scheme.
     * Parameters might be specified using the notation {parameterName}, for example: http://server/customers/{CustomerID} defines a "CustomerID" parameter
     * that must be included in the {@link RVRESTDataSourceItem.parameters} property of {@link RVRESTDataSourceItem}.
     */
    get url(): nullableString;
    set url(value: nullableString);
    private _useAnonymousAuthentication;
    private _usePreemptiveAuthentication;
    /** Boolean flag indicating if anonymous authentication should be used for this data source or credentials must be requested to the containing application. */
    get useAnonymousAuthentication(): boolean;
    set useAnonymousAuthentication(value: boolean);
    /** Boolean flag indicating if preemptive authentication should be used for this data source. */
    get usePreemptiveAuthentication(): boolean;
    set usePreemptiveAuthentication(value: boolean);
    private _method;
    /** HTTP method to use, it defaults to GET */
    get method(): nullableString;
    set method(value: nullableString);
    private _contentType;
    /** Content type of the body, only used when {@link body} is not empty */
    get contentType(): nullableString;
    set contentType(value: nullableString);
    private _body;
    /** Body to send, expected to be used only with POST and PUT methods. */
    get body(): nullableString;
    set body(value: nullableString);
    private _headers;
    /** List of headers to send in the request, each string in this list is expected to be a string in the format name=value. */
    get headers(): Array<any> | null;
    set headers(value: Array<any> | null);
    /** @hidden */
    getType(): string;
    /** @hidden */
    _getWrapper(): any;
}
