/**
 *   Generated file. Do not edit
 */
import { TapResponse } from '@iotize/tap';
import { ModbusVariableAddress } from './models';
import { VariableType } from './models';
import { VariableMeta } from './models';
import { ReadWriteRights } from '@iotize/tap/service/impl/bundle';
import { AbstractService, ServiceCallType } from '@iotize/tap';
export declare class VariableService extends AbstractService {
    resources: {
        getVariableAddress: ServiceCallType<void, number>;
        putVariableAddress: ServiceCallType<number, void>;
        putModbusVariableAddress: ServiceCallType<ModbusVariableAddress, void>;
        getType: ServiceCallType<void, VariableType>;
        putType: ServiceCallType<VariableType, void>;
        getRawMeta: ServiceCallType<void, Uint8Array>;
        putRawMeta: ServiceCallType<Uint8Array, void>;
        getMeta: ServiceCallType<void, VariableMeta>;
        putMeta: ServiceCallType<VariableMeta, void>;
        getUnit: ServiceCallType<void, string>;
        putUnit: ServiceCallType<string, void>;
        getNumberOfElements: ServiceCallType<void, number>;
        putNumberOfElements: ServiceCallType<number, void>;
        getCurrentAccess: ServiceCallType<void, ReadWriteRights>;
        readProfile: ServiceCallType<void, Uint8Array>;
        getValue: ServiceCallType<void, Uint8Array>;
        setValue: ServiceCallType<Uint8Array, void>;
        putValue: ServiceCallType<Uint8Array, void>;
        getBundleId: ServiceCallType<void, number>;
        putBundleId: ServiceCallType<number, void>;
        getBundleValues: ServiceCallType<void, Uint8Array>;
        create: ServiceCallType<number, void>;
    };
    /**
     * Get variable address
     *
     * LWM2M path: /1029/{variableId}/0
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return
     */
    getVariableAddress(variableId: number): Promise<TapResponse<number>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/0
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return call options
     */
    getVariableAddressCall(variableId: number): ServiceCallType;
    /**
     * Write variable address
     *
     * LWM2M path: /1029/{variableId}/0
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param address input
     * @return
     */
    putVariableAddress(variableId: number, address: number): Promise<TapResponse<void>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/0
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param address input
     * @return call options
     */
    putVariableAddressCall(variableId: number, address: number): ServiceCallType;
    /**
     * Write modbus variable address
     *
     * LWM2M path: /1029/{variableId}/0
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param address input
     * @return
     */
    putModbusVariableAddress(variableId: number, address: ModbusVariableAddress): Promise<TapResponse<void>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/0
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param address input
     * @return call options
     */
    putModbusVariableAddressCall(variableId: number, address: ModbusVariableAddress): ServiceCallType;
    /**
     * Get data type for variable
     *
     * LWM2M path: /1029/{variableId}/1
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return
     */
    getType(variableId: number): Promise<TapResponse<VariableType>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/1
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return call options
     */
    getTypeCall(variableId: number): ServiceCallType;
    /**
     * Get data type for variable
     *
     * LWM2M path: /1029/{variableId}/1
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param type input
     * @return
     */
    putType(variableId: number, type: VariableType): Promise<TapResponse<void>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/1
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param type input
     * @return call options
     */
    putTypeCall(variableId: number, type: VariableType): ServiceCallType;
    /**
     * Get variable meta
     *
     * LWM2M path: /1029/{variableId}/8
     *
     * @tapVersion(">=1.73")
     * @param variableId input
     * @return
     */
    getRawMeta(variableId: number): Promise<TapResponse<Uint8Array>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/8
     *
     * @tapVersion(">=1.73")
     * @param variableId input
     * @return call options
     */
    getRawMetaCall(variableId: number): ServiceCallType;
    /**
     * Write variable meta
     *
     * LWM2M path: /1029/{variableId}/8
     *
     * @tapVersion(">=1.73")
     * @param variableId input
     * @param meta input
     * @return
     */
    putRawMeta(variableId: number, meta: Uint8Array): Promise<TapResponse<void>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/8
     *
     * @tapVersion(">=1.73")
     * @param variableId input
     * @param meta input
     * @return call options
     */
    putRawMetaCall(variableId: number, meta: Uint8Array): ServiceCallType;
    /**
     * Get variable meta
     *
     * LWM2M path: /1029/{variableId}/8
     *
     * @tapVersion(">=1.73")
     * @param variableId input
     * @return
     */
    getMeta(variableId: number): Promise<TapResponse<VariableMeta>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/8
     *
     * @tapVersion(">=1.73")
     * @param variableId input
     * @return call options
     */
    getMetaCall(variableId: number): ServiceCallType;
    /**
     * Write variable meta
     *
     * LWM2M path: /1029/{variableId}/8
     *
     * @tapVersion(">=1.73")
     * @param variableId input
     * @param meta input
     * @return
     */
    putMeta(variableId: number, meta: VariableMeta): Promise<TapResponse<void>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/8
     *
     * @tapVersion(">=1.73")
     * @param variableId input
     * @param meta input
     * @return call options
     */
    putMetaCall(variableId: number, meta: VariableMeta): ServiceCallType;
    /**
     * Get variable unit
     *
     * LWM2M path: /1029/{variableId}/9
     *
     * @deprecated
     * @tapVersion(">=1.60")
     * @param variableId input
     * @return
     */
    getUnit(variableId: number): Promise<TapResponse<string>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/9
     *
     * @deprecated
     * @tapVersion(">=1.60")
     * @param variableId input
     * @return call options
     */
    getUnitCall(variableId: number): ServiceCallType;
    /**
     * Write variable unit
     *
     * LWM2M path: /1029/{variableId}/9
     *
     * @deprecated
     * @tapVersion(">=1.60")
     * @param variableId input
     * @param address input
     * @return
     */
    putUnit(variableId: number, address: string): Promise<TapResponse<void>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/9
     *
     * @deprecated
     * @tapVersion(">=1.60")
     * @param variableId input
     * @param address input
     * @return call options
     */
    putUnitCall(variableId: number, address: string): ServiceCallType;
    /**
     * Get variable array size
     *
     * LWM2M path: /1029/{variableId}/2
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return
     */
    getNumberOfElements(variableId: number): Promise<TapResponse<number>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/2
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return call options
     */
    getNumberOfElementsCall(variableId: number): ServiceCallType;
    /**
     * Write variable array size
     *
     * LWM2M path: /1029/{variableId}/2
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param value input
     * @return
     */
    putNumberOfElements(variableId: number, value: number): Promise<TapResponse<void>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/2
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param value input
     * @return call options
     */
    putNumberOfElementsCall(variableId: number, value: number): ServiceCallType;
    /**
     * Get access rights for the variable
     *
     * LWM2M path: /1029/{variableId}/3
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return
     */
    getCurrentAccess(variableId: number): Promise<TapResponse<ReadWriteRights>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/3
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return call options
     */
    getCurrentAccessCall(variableId: number): ServiceCallType;
    /**
     * Get all variable values for the current profile
     *
     * LWM2M path: /1029//4
     *
     * @tapVersion(">=")
     * @return
     */
    readProfile(): Promise<TapResponse<Uint8Array>>;
    /**
     *
     *
     * LWM2M path: /1029//4
     *
     * @tapVersion(">=")
     * @return call options
     */
    readProfileCall(): ServiceCallType;
    /**
     * Get variable value
     *
     * LWM2M path: /1029/{variableId}/4
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return
     */
    getValue(variableId: number): Promise<TapResponse<Uint8Array>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/4
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return call options
     */
    getValueCall(variableId: number): ServiceCallType;
    /**
     * Set variable value
     *
     * LWM2M path: /1029/{variableId}/5
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param value input
     * @return
     */
    setValue(variableId: number, value: Uint8Array): Promise<TapResponse<void>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/5
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param value input
     * @return call options
     */
    setValueCall(variableId: number, value: Uint8Array): ServiceCallType;
    /**
     * Set variable value
     *
     * LWM2M path: /1029/{variableId}/4
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param value input
     * @return
     */
    putValue(variableId: number, value: Uint8Array): Promise<TapResponse<void>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/4
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param value input
     * @return call options
     */
    putValueCall(variableId: number, value: Uint8Array): ServiceCallType;
    /**
     * Get variable bundle id
     *
     * LWM2M path: /1029/{variableId}/6
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return
     */
    getBundleId(variableId: number): Promise<TapResponse<number>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/6
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return call options
     */
    getBundleIdCall(variableId: number): ServiceCallType;
    /**
     * Write variable bundle id
     *
     * LWM2M path: /1029/{variableId}/6
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param value input
     * @return
     */
    putBundleId(variableId: number, value: number): Promise<TapResponse<void>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/6
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param value input
     * @return call options
     */
    putBundleIdCall(variableId: number, value: number): ServiceCallType;
    /**
     * Get variable bundle values (formated as a TLV)
     *
     * LWM2M path: /1029/{variableId}/7
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return
     */
    getBundleValues(variableId: number): Promise<TapResponse<Uint8Array>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/7
     *
     * @tapVersion(">=")
     * @param variableId input
     * @return call options
     */
    getBundleValuesCall(variableId: number): ServiceCallType;
    /**
     * Write variable bundle id
     *
     * LWM2M path: /1029/{variableId}/65535
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param extraSize input
     * @return
     */
    create(variableId: number, extraSize: number): Promise<TapResponse<void>>;
    /**
     *
     *
     * LWM2M path: /1029/{variableId}/65535
     *
     * @tapVersion(">=")
     * @param variableId input
     * @param extraSize input
     * @return call options
     */
    createCall(variableId: number, extraSize: number): ServiceCallType;
}
