import type { TelnetAvr } from './telnetAvr';
import type { MessageQueue } from './messageQueue';
declare class DataHandler {
    private messageQueue;
    private telnetAvr;
    log: any;
    private _lastMessageReceived;
    constructor(telnetAvr: TelnetAvr, messageQueue: MessageQueue);
    /**
     * Getter for the timestamp of the last message received.
     * @returns {number | null} - The timestamp of the last message.
     */
    get lastMessageReceived(): number | null;
    /**
     * Setter for the timestamp of the last message received.
     * @param value - The timestamp to set.
     */
    set lastMessageReceived(value: number | null);
    /**
     * Handles incoming Telnet data, processes display characters, manages callbacks, and unlocks queue locks.
     * @param data - Incoming data buffer from the Telnet connection.
     */
    handleData(data: Buffer): void;
    /**
     * Removes the first entry from the queue and unlocks the corresponding callback lock.
     * Optionally, it clears specific callbacks if a callbackKey is provided.
     * @param callbackKey - The specific callback key to clear, if applicable
     */
    private clearQueueEntry;
    /**
     * Updates the display via the TelnetAvr instance when a display change is detected.
     * @param message - The display message to update.
     */
    displayChanged(message: string): void;
    /**
     * Fallback handler for unmatched data, which logs or processes unexpected messages.
     * @param error - An error object, if applicable.
     * @param data - The received data string.
     * @param callback - An optional callback function to execute with the data.
     */
    fallbackOnData(error: any, data: string, callback?: Function): void;
}
export default DataHandler;
//# sourceMappingURL=dataHandler.d.ts.map