import { type AdditionalDataHolder, type BaseRequestBuilder, type Parsable, type ParseNode, type RequestConfiguration, type RequestInformation, type RequestsMetadata, type SerializationWriter } from '@microsoft/kiota-abstractions'; /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {StatisticsGetResponse_AverageCompressionChart} */ export declare function createStatisticsGetResponse_AverageCompressionChartFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {StatisticsGetResponse_AverageProcessingTimeChart} */ export declare function createStatisticsGetResponse_AverageProcessingTimeChartFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {StatisticsGetResponse_RequestsOptimizedChart} */ export declare function createStatisticsGetResponse_RequestsOptimizedChartFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {StatisticsGetResponse_TrafficSavedChart} */ export declare function createStatisticsGetResponse_TrafficSavedChartFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {StatisticsGetResponse} */ export declare function createStatisticsGetResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * The deserialization information for the current model * @returns {Record void>} */ export declare function deserializeIntoStatisticsGetResponse(statisticsGetResponse?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @returns {Record void>} */ export declare function deserializeIntoStatisticsGetResponse_AverageCompressionChart(statisticsGetResponse_AverageCompressionChart?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @returns {Record void>} */ export declare function deserializeIntoStatisticsGetResponse_AverageProcessingTimeChart(statisticsGetResponse_AverageProcessingTimeChart?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @returns {Record void>} */ export declare function deserializeIntoStatisticsGetResponse_RequestsOptimizedChart(statisticsGetResponse_RequestsOptimizedChart?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @returns {Record void>} */ export declare function deserializeIntoStatisticsGetResponse_TrafficSavedChart(statisticsGetResponse_TrafficSavedChart?: Partial | undefined): Record void>; /** * Serializes information the current object * @param writer Serialization writer to use to serialize this model */ export declare function serializeStatisticsGetResponse(writer: SerializationWriter, statisticsGetResponse?: Partial | undefined | null): void; /** * Serializes information the current object * @param writer Serialization writer to use to serialize this model */ export declare function serializeStatisticsGetResponse_AverageCompressionChart(writer: SerializationWriter, statisticsGetResponse_AverageCompressionChart?: Partial | undefined | null): void; /** * Serializes information the current object * @param writer Serialization writer to use to serialize this model */ export declare function serializeStatisticsGetResponse_AverageProcessingTimeChart(writer: SerializationWriter, statisticsGetResponse_AverageProcessingTimeChart?: Partial | undefined | null): void; /** * Serializes information the current object * @param writer Serialization writer to use to serialize this model */ export declare function serializeStatisticsGetResponse_RequestsOptimizedChart(writer: SerializationWriter, statisticsGetResponse_RequestsOptimizedChart?: Partial | undefined | null): void; /** * Serializes information the current object * @param writer Serialization writer to use to serialize this model */ export declare function serializeStatisticsGetResponse_TrafficSavedChart(writer: SerializationWriter, statisticsGetResponse_TrafficSavedChart?: Partial | undefined | null): void; export interface StatisticsGetResponse extends AdditionalDataHolder, Parsable { /** * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well. */ additionalData?: Record; /** * Average compression chart of the responses */ averageCompressionChart?: StatisticsGetResponse_AverageCompressionChart | null; /** * The average compression ratio of CDN responses */ averageCompressionRatio?: number | null; /** * The average processing time of each request */ averageProcessingTime?: number | null; /** * The AverageProcessingTimeChart property */ averageProcessingTimeChart?: StatisticsGetResponse_AverageProcessingTimeChart | null; /** * The constructed chart of optimized requests */ requestsOptimizedChart?: StatisticsGetResponse_RequestsOptimizedChart | null; /** * The total number of optimized requests */ totalRequestsOptimized?: number | null; /** * The total requests saved */ totalTrafficSaved?: number | null; /** * The constructed chart of saved traffic */ trafficSavedChart?: StatisticsGetResponse_TrafficSavedChart | null; } /** * Average compression chart of the responses */ export interface StatisticsGetResponse_AverageCompressionChart extends AdditionalDataHolder, Parsable { /** * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well. */ additionalData?: Record; } export interface StatisticsGetResponse_AverageProcessingTimeChart extends AdditionalDataHolder, Parsable { /** * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well. */ additionalData?: Record; } /** * The constructed chart of optimized requests */ export interface StatisticsGetResponse_RequestsOptimizedChart extends AdditionalDataHolder, Parsable { /** * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well. */ additionalData?: Record; } /** * The constructed chart of saved traffic */ export interface StatisticsGetResponse_TrafficSavedChart extends AdditionalDataHolder, Parsable { /** * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well. */ additionalData?: Record; } /** * Builds and executes requests for operations under /pullzone/{-id}/optimizer/statistics */ export interface StatisticsRequestBuilder extends BaseRequestBuilder { /** * [GetOptimizerStatistics API Docs](https://docs.bunny.net/reference/pullzonepublic_optimizerstatistics) * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns {Promise} */ get(requestConfiguration?: RequestConfiguration | undefined): Promise; /** * [GetOptimizerStatistics API Docs](https://docs.bunny.net/reference/pullzonepublic_optimizerstatistics) * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns {RequestInformation} */ toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined): RequestInformation; } /** * [GetOptimizerStatistics API Docs](https://docs.bunny.net/reference/pullzonepublic_optimizerstatistics) */ export interface StatisticsRequestBuilderGetQueryParameters { /** * The start date of the statistics. If no value is passed, the last 30 days will be returned. */ dateFrom?: Date; /** * The end date of the statistics. If no value is passed, the last 30 days will be returned. */ dateTo?: Date; /** * If true, the statistics data will be returned in hourly grouping. */ hourly?: boolean; } /** * Uri template for the request builder. */ export declare const StatisticsRequestBuilderUriTemplate = "{+baseurl}/pullzone/{%2Did}/optimizer/statistics{?dateFrom,dateTo,hourly}"; /** * Metadata for all the requests in the request builder. */ export declare const StatisticsRequestBuilderRequestsMetadata: RequestsMetadata;