import * as interfaces from '../dist_ts_interfaces/index.js';
import type { DcRouterApiClient } from './classes.dcrouterapiclient.js';
type TTimeRange = '1h' | '6h' | '24h' | '7d' | '30d';
export declare class StatsManager {
    private clientRef;
    constructor(clientRef: DcRouterApiClient);
    getServer(options?: {
        timeRange?: TTimeRange;
        includeHistory?: boolean;
    }): Promise<interfaces.requests.IReq_GetServerStatistics['response']>;
    getEmail(options?: {
        timeRange?: TTimeRange;
        domain?: string;
        includeDetails?: boolean;
    }): Promise<interfaces.requests.IReq_GetEmailStatistics['response']>;
    getDns(options?: {
        timeRange?: TTimeRange;
        domain?: string;
        includeQueryTypes?: boolean;
    }): Promise<interfaces.requests.IReq_GetDnsStatistics['response']>;
    getRateLimits(options?: {
        domain?: string;
        ip?: string;
        includeBlocked?: boolean;
    }): Promise<interfaces.requests.IReq_GetRateLimitStatus['response']>;
    getSecurity(options?: {
        timeRange?: TTimeRange;
        includeDetails?: boolean;
    }): Promise<interfaces.requests.IReq_GetSecurityMetrics['response']>;
    getConnections(options?: {
        protocol?: 'smtp' | 'smtps' | 'http' | 'https';
        state?: string;
    }): Promise<interfaces.requests.IReq_GetActiveConnections['response']>;
    getQueues(options?: {
        queueName?: string;
    }): Promise<interfaces.requests.IReq_GetQueueStatus['response']>;
    getHealth(detailed?: boolean): Promise<interfaces.requests.IReq_GetHealthStatus['response']>;
    getNetwork(): Promise<interfaces.requests.IReq_GetNetworkStats['response']>;
    getCombined(sections?: {
        server?: boolean;
        email?: boolean;
        dns?: boolean;
        security?: boolean;
        network?: boolean;
    }): Promise<interfaces.requests.IReq_GetCombinedMetrics['response']>;
}
export {};
