import { SdkClient } from "../common/sdk-client";
import { TimeSeriesBulkModels } from "./iot-timeseries-bulk-models";
/**
 * This API allows the bulk import of files containing high frequent data with up to nano-second precision
 * to the IoT Time Series services.
 * Additionally it can be used to retrieve the status of a specific import job and it provides capabilities to read the data back for use in applications.
 *
 * @export
 * @class TimeSeriesBulkClient
 * @extends {SdkClient}
 */
export declare class TimeSeriesBulkClient extends SdkClient {
    private _baseUrl;
    /**
     * Bulk imports time series data for a specific asset and aspect.
     * This API can also be used for submitting multiple jobs for same hour interval.
     * The API will not do partial processing of input files, in case the total size for a job for an hour interval exceeds 350 MB.
     *
     * @param {TimeSeriesBulkModels.BulkImportInput} job
     * @returns {Promise<TimeSeriesBulkModels.JobStatus>}
     *
     * @memberOf TimeSeriesBulkClient
     */
    PostImportJob(job: TimeSeriesBulkModels.BulkImportInput): Promise<TimeSeriesBulkModels.JobStatus>;
    /**
     * Get job status API to get current status of bulk ingest job.
     *
     * @param {string} jobId
     * @returns {Promise<TimeSeriesBulkModels.JobStatus>}
     *
     * @memberOf TimeSeriesBulkClient
     */
    GetJobStatus(jobId: string): Promise<TimeSeriesBulkModels.JobStatus>;
    private fixResultsFor3_3_0;
    /**
     * Read time series data for a single entity and property set.
     * Returns data for a specified time range.
     * Returns the latest value if no range is provided.
     * Returns only the selected properties if 'select' parameter is used.
     * Returns a limited number of records if the 'limit' parameter is used
     *
     * @param {string} entity
     * @param {string} propertysetname
     * @param {Date} from
     * @param {Date} to
     * @param {{ limit?: number; select?: string; sort?: string }} [optional]
     * @returns {Promise<TimeSeriesBulkModels.Timeseries[]>}
     *
     * @memberOf TimeSeriesBulkClient
     */
    GetTimeSeries(entity: string, propertysetname: string, from: Date, to: Date, optional?: {
        limit?: number;
        select?: string;
        sort?: string;
    }): Promise<TimeSeriesBulkModels.Timeseries[]>;
}
