import { APIResource } from "../../../../core/resource.js";
import { APIPromise } from "../../../../core/api-promise.js";
import { RequestOptions } from "../../../../internal/request-options.js";
export declare class BaseReports extends APIResource {
    static readonly _key: readonly ['user', 'spectrumAnalytics', 'zones', 'reports'];
    /**
     * Retrieves a list of total bandwidth by zone over a given time period.
     *
     * @example
     * ```ts
     * const reports =
     *   await client.user.spectrumAnalytics.zones.reports.get();
     * ```
     */
    get(query?: ReportGetParams | null | undefined, options?: RequestOptions): APIPromise<ReportGetResponse>;
}
export declare class Reports extends BaseReports {
}
export type ReportGetResponse = Array<ReportGetResponse.ReportGetResponseItem>;
export declare namespace ReportGetResponse {
    interface ReportGetResponseItem {
        totals: ReportGetResponseItem.Totals;
        /**
         * Identifier.
         */
        zone_id: string;
    }
    namespace ReportGetResponseItem {
        interface Totals {
            bandwidth: Totals.Bandwidth;
        }
        namespace Totals {
            interface Bandwidth {
                /**
                 * Sum of ingress and egress bytes transferred.
                 */
                all: number;
                /**
                 * Sum of egress bytes transferred.
                 */
                egress: number;
                /**
                 * Sum of ingress bytes transferred.
                 */
                ingress: number;
            }
        }
    }
}
export interface ReportGetParams {
    /**
     * Include CDN traffic in the bandwidth aggregation.
     */
    cdn_traffic?: boolean;
    /**
     * Start of time interval to query, defaults to `until` - 6 hours. Timestamp must
     * be in RFC3339 format and uses UTC unless otherwise specified.
     */
    since?: string;
    /**
     * End of time interval to query, defaults to current time. Timestamp must be in
     * RFC3339 format and uses UTC unless otherwise specified.
     */
    until?: string;
}
export declare namespace Reports {
    export { type ReportGetResponse as ReportGetResponse, type ReportGetParams as ReportGetParams };
}
//# sourceMappingURL=reports.d.ts.map