export default class ZabbixSender implements ZabbixSenderRequestBasics {
    private _hostname;
    get hostname(): string;
    private _host;
    get host(): string;
    private _port;
    get port(): number;
    private _timeout;
    get timeout(): number;
    private _nsTiming;
    get nsTiming(): boolean;
    private _timestamps;
    get timestamps(): boolean;
    constructor(host: string, port?: number, timeout?: number, timestamps?: boolean, nsTiming?: boolean, hostname?: string);
    add(data: ZabbixSenderItem): ZabbixSenderRequest;
    add(key: string, value: number): ZabbixSenderRequest;
    add(key: string, value: number, hostname?: string): ZabbixSenderRequest;
    add(key: string, value: number, timestamp: number): ZabbixSenderRequest;
    add(key: string, value: number, timestamp: number, hostname: string): ZabbixSenderRequest;
    add(key: string, value: number, timestamp: number, ns: number, hostname: string): ZabbixSenderRequest;
    send(data: ZabbixSenderItem): Promise<ZabbixSenderResponse>;
    send(key: string, value: number): Promise<ZabbixSenderResponse>;
    send(key: string, value: number, hostname?: string): Promise<ZabbixSenderResponse>;
    send(key: string, value: number, timestamp: number): Promise<ZabbixSenderResponse>;
    send(key: string, value: number, timestamp: number, hostname: string): Promise<ZabbixSenderResponse>;
    send(key: string, value: number, timestamp: number, ns: number, hostname: string): Promise<ZabbixSenderResponse>;
}
declare class ZabbixSenderRequest implements ZabbixSenderRequestBasics {
    private closed;
    private listOfItems;
    private sender;
    constructor(sender: ZabbixSender);
    get length(): number;
    get items(): Array<ZabbixSenderItem>;
    add(data: ZabbixSenderItem): ZabbixSenderRequest;
    add(key: string, value: number): ZabbixSenderRequest;
    add(key: string, value: number, hostname?: string): ZabbixSenderRequest;
    add(key: string, value: number, timestamp: number): ZabbixSenderRequest;
    add(key: string, value: number, timestamp: number, hostname: string): ZabbixSenderRequest;
    add(key: string, value: number, timestamp: number, ns: number, hostname: string): ZabbixSenderRequest;
    send(): Promise<ZabbixSenderResponse>;
    private prepareData;
}
export interface ZabbixSenderRequestBasics {
    add(data: ZabbixSenderItem): ZabbixSenderRequest;
    add(key: string, value: number): ZabbixSenderRequest;
    add(key: string, value: number, hostname?: string): ZabbixSenderRequest;
    add(key: string, value: number, timestamp: number): ZabbixSenderRequest;
    add(key: string, value: number, timestamp: number, hostname: string): ZabbixSenderRequest;
    add(key: string, value: number, timestamp: number, ns: number, hostname: string): ZabbixSenderRequest;
    add(key: string | ZabbixSenderItem, value?: number, timestamp?: number | string, ns?: number | string, hostname?: string): ZabbixSenderRequest;
}
export interface ZabbixSenderItem {
    host: string;
    key: string;
    value: number;
    clock?: number;
    ns?: number;
}
export interface ZabbixSenderResponse {
    response: string;
    info: string;
}
export {};
