import { DeviceResponseType, IDevice } from "../Devices/IDevice";
import { ResponseResult } from "../FieldChangeResult";
import { IStatesHistoryService, StateHistoryErrorCode } from "./IStatesHistoryService";
import { AvailableState, IAvailableStatePerChannel, StateDataResponse, StateInterval } from "./StatesHistory";
export declare class StatesHistoryService implements IStatesHistoryService {
    static readonly ServiceName: string;
    private _connection;
    constructor();
    GetServiceName(): string;
    GetStatesByIntervalAsync<T>(device: IDevice, channel: number, responseType: DeviceResponseType, stateFrom: StateInterval, limit: number, offset: number, orderByDesc?: boolean): Promise<StateDataResponse<T> | ResponseResult<StateHistoryErrorCode>>;
    GetStatesByIntervalAsync<T>(deviceGuid: string, channel: number, responseType: DeviceResponseType, stateFrom: StateInterval, limit: number, offset: number, orderByDesc?: boolean): Promise<StateDataResponse<T> | ResponseResult<StateHistoryErrorCode>>;
    GetAvailableStatesAsync(): Promise<ResponseResult<StateHistoryErrorCode> | AvailableState[]>;
    IsFunctionalitySupportedAsync(): Promise<boolean>;
    GetAvailableStatesPerChannelAsync(device: IDevice, channel: number): Promise<IAvailableStatePerChannel | ResponseResult<StateHistoryErrorCode>>;
    GetAvailableStatesPerChannelAsync(deviceGuid: string, channel: number): Promise<IAvailableStatePerChannel | ResponseResult<StateHistoryErrorCode>>;
}
