import EventEmitter from 'node:events';
import { PathLike } from 'node:fs';
export type SFTPTailOptions = {
    sftp: {
        timeout: number;
        encoding: string;
        host: string;
        port: number;
        debug: any;
    };
    fetchInterval: number;
    tailLastBytes: number;
    log: ((...data: any) => unknown) | boolean;
};
export declare class SFTPTail extends EventEmitter<{
    connected: [void];
    disconnect: [void];
    error: [any];
    line: [string];
}> {
    protected client: any;
    options: SFTPTailOptions;
    filePath: string | null;
    fetchLoopActive: boolean;
    lastByteReceived: number | null;
    fetchLoopPromise: null | Promise<void>;
    log: (...data: any) => unknown;
    tmpFilePath: PathLike;
    constructor(options: Partial<SFTPTailOptions>);
    setup(): Promise<void>;
    watch(filePath: string): Promise<void>;
    unwatch(): Promise<void>;
    fetchLoop(): Promise<void>;
    connect(): Promise<void>;
    disconnect(): Promise<void>;
    sleep(ms: number): Promise<void>;
}
