import type { Authenticator, HttpMethod, IRawRequest, IRawResponse, ITransportSettings, SDKResponse, Values } from './transport';
import { BaseTransport } from './baseTransport';
import type { ICryptoHash } from './cryptoHash';
export declare class BrowserCryptoHash implements ICryptoHash {
    arrayToHex(array: Uint8Array): string;
    fromBase64(str: string): number[];
    secureRandom(byteCount: number): string;
    sha256Hash(message: string): Promise<string>;
}
export declare class BrowserTransport extends BaseTransport {
    protected readonly options: ITransportSettings;
    constructor(options: ITransportSettings);
    static supportsPerformance(): boolean;
    private static _trackPerf;
    static get trackPerformance(): boolean;
    static set trackPerformance(value: boolean);
    static startMark: string;
    static endMark: string;
    static mark(name: string, tag: string): string;
    static markName(url: string): string;
    static markStart(name: string): string;
    static markEnd(url: string, startName: string): string;
    retry(request: IRawRequest): Promise<IRawResponse>;
    rawRequest(method: HttpMethod, path: string, queryParams?: Values, body?: any, authenticator?: Authenticator, options?: Partial<ITransportSettings>): Promise<IRawResponse>;
    parseResponse<TSuccess, TError>(res: IRawResponse): Promise<SDKResponse<TSuccess, TError>>;
    request<TSuccess, TError>(method: HttpMethod, path: string, queryParams?: Values, body?: any, authenticator?: Authenticator, options?: Partial<ITransportSettings>): Promise<SDKResponse<TSuccess, TError>>;
    stream<TSuccess>(callback: (response: Response) => Promise<TSuccess>, method: HttpMethod, path: string, queryParams?: Values, body?: any, authenticator?: Authenticator, options?: Partial<ITransportSettings>): Promise<TSuccess>;
}
