export interface UniFiConfig {
    controller: string;
    apiKey: string;
    site: string;
    secure: boolean;
    useSiteManagerApi?: boolean;
    hostId?: string;
    endpoints?: {
        sites?: string;
        clients?: string;
        devices?: string;
    };
}
export declare class UniFiLiteClient {
    private config;
    private baseUrl;
    private controllerType;
    constructor(config: UniFiConfig);
    private detectControllerType;
    /**
     * Make HTTP request to UniFi API using Node.js built-in modules
     */
    private request;
    /**
     * GET request
     */
    get(endpoint: string): Promise<any>;
    /**
     * POST request
     */
    post(endpoint: string, data?: any): Promise<any>;
    /**
     * Get all sites
     */
    getSites(): Promise<any[]>;
    /**
     * Get active clients for a site
     */
    getClients(site?: string): Promise<any[]>;
    /**
     * Get devices using Site Manager API or local controller
     */
    getDevices(): Promise<any[]>;
    /**
     * Get network devices (access points, switches)
     */
    getNetworkDevices(site?: string): Promise<any[]>;
    /**
     * Get device fingerprints database
     */
    getDeviceFingerprints(): Promise<any>;
    /**
     * Get client statistics including traffic data
     */
    getClientStats(mac: string, site?: string): Promise<any>;
    /**
     * Get site statistics
     */
    getSiteStats(site?: string): Promise<any>;
    /**
     * Get ISP metrics (Site Manager API only)
     */
    getIspMetrics(): Promise<any>;
    /**
     * Get client traffic data for the last 15 minutes
     */
    getClientTrafficLast15Min(mac: string): Promise<{
        rx_bytes: number;
        tx_bytes: number;
    } | null>;
    /**
     * For compatibility with original code
     */
    get opts(): {
        site: string;
    };
    /**
     * Test API connection
     */
    testConnection(): Promise<boolean>;
}
