import ConsumerRegistry from './consumerRegistry.cjs';
import { Logger } from './logging.cjs';
import RequestCounter from './requestCounter.cjs';
import RequestLogger from './requestLogger.cjs';
import ServerErrorCounter from './serverErrorCounter.cjs';
import { StartupData, ApitallyConfig } from './types.cjs';
import ValidationErrorCounter from './validationErrorCounter.cjs';
import 'winston';
import 'buffer';
import 'http';
import './tempGzipFile.cjs';

declare class ApitallyClient {
    private clientId;
    private env;
    private static instance?;
    private instanceUuid;
    private syncDataQueue;
    private syncIntervalId?;
    startupData?: StartupData;
    private startupDataSent;
    private enabled;
    requestCounter: RequestCounter;
    requestLogger: RequestLogger;
    validationErrorCounter: ValidationErrorCounter;
    serverErrorCounter: ServerErrorCounter;
    consumerRegistry: ConsumerRegistry;
    logger: Logger;
    constructor({ clientId, env, requestLoggingConfig, logger, }: ApitallyConfig);
    static getInstance(): ApitallyClient;
    isEnabled(): boolean;
    static shutdown(): Promise<void>;
    handleShutdown(): Promise<void>;
    private getHubUrlPrefix;
    private sendData;
    private startSync;
    private sync;
    private stopSync;
    setStartupData(data: StartupData): void;
    private sendStartupData;
    private sendSyncData;
    private sendLogData;
    private handleHubError;
    private randomDelay;
}

export { ApitallyClient };
