import http = require("http");
import Promise = require("bluebird");
import { Authentication } from '../auth/Authentication';
import { MetricUsage } from '../models/MetricUsage';
declare class MerticUsageService {
    protected _basePath: string;
    protected _defaultHeaders: any;
    protected _useQuerystring: boolean;
    protected _timeout: number;
    protected _defaultAuthentication: Authentication;
    constructor(configuration: any);
    /**
    * Set timeout in seconds. Default timeout: 25 seconds
    * @param {number} timeout
    */
    set timeout(timeout: number);
    private setTimeout;
    set basePath(basePath: string);
    get basePath(): string;
    protected setDefaultAuthentication(auth: Authentication): void;
    private getVersion;
    /**
    * Calculates the consumed resources for the given space and time range.
    * @summary Calculate
    * @param spaceId
    * @param start The start date from which on the consumed units should be returned from.
    * @param end The end date to which the consumed units should be returned to. The end date is not included in the result.
    * @param {*} [options] Override http request options.
    */
    calculate(spaceId: number, start: Date, end: Date, options?: any): Promise<{
        response: http.IncomingMessage;
        body: Array<MetricUsage>;
    }>;
}
export { MerticUsageService };
