import { Response } from 'node-fetch';
import { Authentication } from './streamr/Authentication';
import { LoggerFactory } from './streamr/LoggerFactory';
export declare enum ErrorCode {
    NOT_FOUND = "NOT_FOUND",
    VALIDATION_ERROR = "VALIDATION_ERROR",
    UNKNOWN = "UNKNOWN"
}
export declare class FetchHttpStreamResponseError extends Error {
    response: Response;
    constructor(response: Response);
}
export type RequestMetadata = {
    requestId?: string;
    participatingNodesAddress?: string[];
    type: 'metadata';
    hasNext?: boolean;
    nextTimestamp?: number;
    nextSequenceNumber?: number;
};
export declare const DEFAULT_HEADERS: {
    'LogStore-Client': string;
};
export declare class HttpError extends Error {
    response?: Response;
    body?: any;
    code: ErrorCode;
    errorCode: ErrorCode;
    constructor(message: string, response?: Response, body?: any, errorCode?: ErrorCode);
}
export declare class ValidationError extends HttpError {
    constructor(message: string, response?: Response, body?: any);
}
export declare class NotFoundError extends HttpError {
    constructor(message: string, response?: Response, body?: any);
}
export declare class HttpUtil {
    private authentication;
    private readonly logger;
    constructor(authentication: Authentication, loggerFactory: LoggerFactory);
    fetchHttpStream(url: string, abortSignal?: AbortSignal): AsyncGenerator<string, void, undefined>;
    createQueryString(query: Record<string, any>): string;
    fetchAuthParams(): Promise<{
        user: import("@streamr/utils").EthereumAddress;
        password: string;
        token: string;
    }>;
}
