/// <reference types="node" />
/// <reference types="node" />
import { EventEmitter } from "stream";
import { DeviceConfiguration, DeviceConfigurationData } from "./configparser";
import { State } from "./messagepublisherpolicies";
import { MessageSender, MessageSenderOptions } from "./messagesender";
export declare type PostCallback = (error: Error, tagName: string, modelPath: string) => any;
export declare type PacketPostCallback = (error?: Error, packet?: any) => any;
export default class CorvinaDataInterface extends EventEmitter {
    protected _config: DeviceConfiguration;
    private CYCLE_TIME;
    protected _nextTick: number;
    protected _internalTimer: NodeJS.Timer;
    protected _sender: any;
    get config(): DeviceConfiguration;
    constructor(sender: MessageSender);
    setCycleTime(cycleTime: number): void;
    protected monotonicTimer(): number;
    start(): void;
    stop(): void;
    protected doPublish(): void;
    applyConfig(config: DeviceConfigurationData): void;
    notifyTag(tagName: string, newState: State, options?: MessageSenderOptions): void;
}
//# sourceMappingURL=corvinadatainterface.d.ts.map