import { BaseAPIRequestFactory } from "../../datadog-api-client-common/baseapi"; import { Configuration } from "../../datadog-api-client-common/configuration"; import { RequestContext, ResponseContext } from "../../datadog-api-client-common/http/http"; import { DatasetReportScheduleListResponse } from "../models/DatasetReportScheduleListResponse"; import { PrintReportRequest } from "../models/PrintReportRequest"; import { PrintReportResponse } from "../models/PrintReportResponse"; import { ReportScheduleCreateRequest } from "../models/ReportScheduleCreateRequest"; import { ReportScheduleListResponse } from "../models/ReportScheduleListResponse"; import { ReportSchedulePatchRequest } from "../models/ReportSchedulePatchRequest"; import { ReportScheduleResourceType } from "../models/ReportScheduleResourceType"; import { ReportScheduleResponse } from "../models/ReportScheduleResponse"; import { ReportScheduleToggleRequest } from "../models/ReportScheduleToggleRequest"; export declare class ReportSchedulesApiRequestFactory extends BaseAPIRequestFactory { createReportSchedule(body: ReportScheduleCreateRequest, _options?: Configuration): Promise; deleteReportSchedule(scheduleUuid: string, _options?: Configuration): Promise; getReportSchedule(scheduleUuid: string, _options?: Configuration): Promise; getReportSchedulesForResource(resourceType: ReportScheduleResourceType, resourceId: string, _options?: Configuration): Promise; listDatasetReportSchedules(datasetId: string, _options?: Configuration): Promise; listReportSchedules(pageLimit?: number, pageOffset?: number, filterTitle?: string, filterAuthorUuid?: string, filterRecipients?: string, _options?: Configuration): Promise; patchReportSchedule(scheduleUuid: string, body: ReportSchedulePatchRequest, _options?: Configuration): Promise; printReport(body: PrintReportRequest, _options?: Configuration): Promise; toggleReportSchedule(scheduleUuid: string, body: ReportScheduleToggleRequest, _options?: Configuration): Promise; } export declare class ReportSchedulesApiResponseProcessor { /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to createReportSchedule * @throws ApiException if the response code was not in [200, 299] */ createReportSchedule(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to deleteReportSchedule * @throws ApiException if the response code was not in [200, 299] */ deleteReportSchedule(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getReportSchedule * @throws ApiException if the response code was not in [200, 299] */ getReportSchedule(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getReportSchedulesForResource * @throws ApiException if the response code was not in [200, 299] */ getReportSchedulesForResource(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to listDatasetReportSchedules * @throws ApiException if the response code was not in [200, 299] */ listDatasetReportSchedules(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to listReportSchedules * @throws ApiException if the response code was not in [200, 299] */ listReportSchedules(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to patchReportSchedule * @throws ApiException if the response code was not in [200, 299] */ patchReportSchedule(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to printReport * @throws ApiException if the response code was not in [200, 299] */ printReport(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to toggleReportSchedule * @throws ApiException if the response code was not in [200, 299] */ toggleReportSchedule(response: ResponseContext): Promise; } export interface ReportSchedulesApiCreateReportScheduleRequest { /** * @type ReportScheduleCreateRequest */ body: ReportScheduleCreateRequest; } export interface ReportSchedulesApiDeleteReportScheduleRequest { /** * The unique identifier of the report schedule to delete. * @type string */ scheduleUuid: string; } export interface ReportSchedulesApiGetReportScheduleRequest { /** * The unique identifier of the report schedule to fetch. * @type string */ scheduleUuid: string; } export interface ReportSchedulesApiGetReportSchedulesForResourceRequest { /** * The type of resource to fetch report schedules for. * @type ReportScheduleResourceType */ resourceType: ReportScheduleResourceType; /** * The identifier of the resource to fetch report schedules for. * @type string */ resourceId: string; } export interface ReportSchedulesApiListDatasetReportSchedulesRequest { /** * The identifier of the published dataset to retrieve report schedules for. * @type string */ datasetId: string; } export interface ReportSchedulesApiListReportSchedulesRequest { /** * The maximum number of schedules to return. The maximum value is 50. * @type number */ pageLimit?: number; /** * The offset from which to start returning schedules. * @type number */ pageOffset?: number; /** * Filter schedules by report title. * @type string */ filterTitle?: string; /** * Filter schedules by author UUID. * @type string */ filterAuthorUuid?: string; /** * Filter schedules by a comma-separated list of recipients. * @type string */ filterRecipients?: string; } export interface ReportSchedulesApiPatchReportScheduleRequest { /** * The unique identifier of the report schedule to update. * @type string */ scheduleUuid: string; /** * @type ReportSchedulePatchRequest */ body: ReportSchedulePatchRequest; } export interface ReportSchedulesApiPrintReportRequest { /** * @type PrintReportRequest */ body: PrintReportRequest; } export interface ReportSchedulesApiToggleReportScheduleRequest { /** * The unique identifier of the report schedule to toggle. * @type string */ scheduleUuid: string; /** * @type ReportScheduleToggleRequest */ body: ReportScheduleToggleRequest; } export declare class ReportSchedulesApi { private requestFactory; private responseProcessor; private configuration; constructor(configuration: Configuration, requestFactory?: ReportSchedulesApiRequestFactory, responseProcessor?: ReportSchedulesApiResponseProcessor); /** * Create a new scheduled report. A schedule renders a dashboard or integration dashboard * on a recurring cadence and delivers it to the configured recipients over email, Slack, * or Microsoft Teams. * Requires the `generate_dashboard_reports` permission. * @param param The request object */ createReportSchedule(param: ReportSchedulesApiCreateReportScheduleRequest, options?: Configuration): Promise; /** * Delete a report schedule by its unique identifier. The response returns the deleted schedule. * Requires a reporting write permission appropriate to the targeted resource type and schedule ownership. * @param param The request object */ deleteReportSchedule(param: ReportSchedulesApiDeleteReportScheduleRequest, options?: Configuration): Promise; /** * Get a report schedule by its unique identifier. * Requires a reporting read permission appropriate to the targeted resource type. * @param param The request object */ getReportSchedule(param: ReportSchedulesApiGetReportScheduleRequest, options?: Configuration): Promise; /** * Get all report schedules that target a dashboard or integration dashboard resource. * Requires a reporting read permission appropriate to the targeted resource type. * @param param The request object */ getReportSchedulesForResource(param: ReportSchedulesApiGetReportSchedulesForResourceRequest, options?: Configuration): Promise; /** * Retrieve all report schedules for a given published dataset. * Returns report schedules belonging to the authenticated user's organization that target the specified dataset. * Requires the `generate_log_reports` or `manage_log_reports` permission. * @param param The request object */ listDatasetReportSchedules(param: ReportSchedulesApiListDatasetReportSchedulesRequest, options?: Configuration): Promise; /** * List dashboard and integration dashboard report schedules for the organization. * The response is paginated and can be filtered by title, author UUID, or recipients. * Requires the `generate_dashboard_reports` permission. * @param param The request object */ listReportSchedules(param?: ReportSchedulesApiListReportSchedulesRequest, options?: Configuration): Promise; /** * Update an existing scheduled report by its identifier. The editable attributes * are replaced with the supplied values; the targeted resource (`resource_id` and * `resource_type`) cannot be changed after creation. * Requires the `generate_dashboard_reports` permission and schedule ownership. * @param param The request object */ patchReportSchedule(param: ReportSchedulesApiPatchReportScheduleRequest, options?: Configuration): Promise; /** * Initiate a one-off, print-only report for a dashboard or integration dashboard. * The report is rendered as a PDF and made available for download through the URL returned in the response. * Requires a reporting permission appropriate to the targeted resource type. * @param param The request object */ printReport(param: ReportSchedulesApiPrintReportRequest, options?: Configuration): Promise; /** * Activate or pause a report schedule by setting its status to `active` or `inactive`. * Requires a reporting write permission appropriate to the targeted resource type and schedule ownership. * @param param The request object */ toggleReportSchedule(param: ReportSchedulesApiToggleReportScheduleRequest, options?: Configuration): Promise; }