import { AdapterEvent } from "../common/iotile-types";
export declare abstract class AbstractIOTileAdapter {
    abstract rpc(address: number, rpcID: number, payload: ArrayBuffer, timeout?: number): Promise<ArrayBuffer>;
    abstract errorHandlingRPC(address: number, rpcID: number, callFormat: string, respFormat: string, args: (number | string | ArrayBuffer)[], timeout?: number): Promise<any>;
    abstract typedRPC(address: number, rpcID: number, callFormat: string, respFormat: string, args: (string | number | ArrayBuffer)[], timeout?: number): Promise<any>;
    abstract subscribe(event: AdapterEvent, callback: (string: string, any: any) => void): any;
    abstract resetStreaming(): void;
}
