///
import https from 'https';
import { Mapper } from './mappers';
import { Exchange, Filter, FilterForExchange } from './types';
export declare function parseAsUTCDate(val: string): Date;
export declare function wait(delayMS: number): Promise;
export declare function getRandomString(): string;
export declare function formatDateToPath(date: Date): string;
export declare function doubleDigit(input: number): string;
export declare function sha256(obj: object): string;
export declare function addMinutes(date: Date, minutes: number): Date;
export declare function addDays(date: Date, days: number): Date;
export declare function sequence(end: number, seed?: number): Generator;
export declare const ONE_SEC_IN_MS = 1000;
export declare class HttpError extends Error {
readonly status: number;
readonly responseText: string;
readonly url: string;
constructor(status: number, responseText: string, url: string);
}
export declare function take(iterable: Iterable, length: number): Generator;
export declare function normalizeMessages(exchange: Exchange, symbols: string[] | undefined, messages: AsyncIterableIterator<{
localTimestamp: Date;
message: any;
} | undefined>, mappers: Mapper[], createMappers: (localTimestamp: Date) => Mapper[], withDisconnectMessages: boolean | undefined, filter?: (symbol: string) => boolean, currentTimestamp?: Date | undefined): AsyncGenerator;
export declare function getFilters(mappers: Mapper[], symbols?: string[]): FilterForExchange[T][];
export declare function batch(symbols: string[], batchSize: number): Generator;
export declare function parseμs(dateString: string): number;
export declare function optimizeFilters(filters: Filter[]): Filter[];
export declare const httpsProxyAgent: https.Agent | undefined;
export declare function download({ apiKey, downloadPath, url, userAgent }: {
url: string;
downloadPath: string;
userAgent: string;
apiKey: string;
}): Promise;
export declare function cleanTempFiles(): void;
export declare class CircularBuffer {
private readonly _bufferSize;
private _buffer;
private _index;
constructor(_bufferSize: number);
append(value: T): T | undefined;
items(): Generator;
get count(): number;
clear(): void;
}
export declare class CappedSet {
private readonly _maxSize;
private _set;
constructor(_maxSize: number);
has(value: T): boolean;
add(value: T): void;
remove(value: T): void;
size(): number;
}
export declare function decimalPlaces(n: number): number;
export declare function asNumberIfValid(val: string | number | undefined | null): number | undefined;
export declare function upperCaseSymbols(symbols?: string[]): string[] | undefined;
export declare function lowerCaseSymbols(symbols?: string[]): string[] | undefined;
export declare const httpClient: import("got").Got;
export declare const fromMicroSecondsToDate: (micros: number) => Date;
//# sourceMappingURL=handy.d.ts.map