import { VirtualTile, RPCResponse } from "../virtual-device";
export interface Shock {
    peak: number;
    duration: number;
    dVx: number;
    dVy: number;
    dVz: number;
}
export interface ShockInfo {
    last: Shock;
    maxG: Shock;
    maxDeltaV: Shock;
}
export declare type NotificationCallback = (ArrayBuffer: ArrayBuffer) => void;
export declare type PrestreamingHook = (controller: AccelerometerTile) => ArrayBuffer[];
export declare class AccelerometerTile extends VirtualTile {
    private accelStatus;
    private shockInfo;
    private config;
    constructor(firmwareVersion?: string, initAccelStatus?: {
        'tile_state': number;
        'recording': boolean;
        'settled': boolean;
        'streaming': boolean;
    }, config?: any);
    getShockInfo(type: number): RPCResponse;
    getAccelerometerStatus(): RPCResponse;
    pauseRecording(): RPCResponse;
    resumeRecording(): RPCResponse;
    enterStreamingMode(): Promise<RPCResponse>;
    leaveStreamingMode(): Promise<RPCResponse>;
    sortStoredWaveforms(skipID: number, highestN: number, sortCriteria: number): RPCResponse;
    streamSortedWaveforms(): RPCResponse;
    setShockInfo(type: number, shock: Shock): void;
}
