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 { AllocationExposureScheduleResponse } from "../models/AllocationExposureScheduleResponse"; import { AllocationResponse } from "../models/AllocationResponse"; import { CreateAllocationsRequest } from "../models/CreateAllocationsRequest"; import { CreateEnvironmentRequest } from "../models/CreateEnvironmentRequest"; import { CreateFeatureFlagRequest } from "../models/CreateFeatureFlagRequest"; import { EnvironmentResponse } from "../models/EnvironmentResponse"; import { FeatureFlagResponse } from "../models/FeatureFlagResponse"; import { ListAllocationsResponse } from "../models/ListAllocationsResponse"; import { ListEnvironmentsResponse } from "../models/ListEnvironmentsResponse"; import { ListFeatureFlagsResponse } from "../models/ListFeatureFlagsResponse"; import { OverwriteAllocationsRequest } from "../models/OverwriteAllocationsRequest"; import { UpdateEnvironmentRequest } from "../models/UpdateEnvironmentRequest"; import { UpdateFeatureFlagRequest } from "../models/UpdateFeatureFlagRequest"; export declare class FeatureFlagsApiRequestFactory extends BaseAPIRequestFactory { archiveFeatureFlag(featureFlagId: string, _options?: Configuration): Promise; createAllocationsForFeatureFlagInEnvironment(featureFlagId: string, environmentId: string, body: CreateAllocationsRequest, _options?: Configuration): Promise; createFeatureFlag(body: CreateFeatureFlagRequest, _options?: Configuration): Promise; createFeatureFlagsEnvironment(body: CreateEnvironmentRequest, _options?: Configuration): Promise; deleteFeatureFlagsEnvironment(environmentId: string, _options?: Configuration): Promise; disableFeatureFlagEnvironment(featureFlagId: string, environmentId: string, _options?: Configuration): Promise; enableFeatureFlagEnvironment(featureFlagId: string, environmentId: string, _options?: Configuration): Promise; getFeatureFlag(featureFlagId: string, _options?: Configuration): Promise; getFeatureFlagsEnvironment(environmentId: string, _options?: Configuration): Promise; listFeatureFlags(key?: string, isArchived?: boolean, limit?: number, offset?: number, _options?: Configuration): Promise; listFeatureFlagsEnvironments(name?: string, key?: string, limit?: number, offset?: number, _options?: Configuration): Promise; pauseExposureSchedule(exposureScheduleId: string, _options?: Configuration): Promise; resumeExposureSchedule(exposureScheduleId: string, _options?: Configuration): Promise; startExposureSchedule(exposureScheduleId: string, _options?: Configuration): Promise; stopExposureSchedule(exposureScheduleId: string, _options?: Configuration): Promise; unarchiveFeatureFlag(featureFlagId: string, _options?: Configuration): Promise; updateAllocationsForFeatureFlagInEnvironment(featureFlagId: string, environmentId: string, body: OverwriteAllocationsRequest, _options?: Configuration): Promise; updateFeatureFlag(featureFlagId: string, body: UpdateFeatureFlagRequest, _options?: Configuration): Promise; updateFeatureFlagsEnvironment(environmentId: string, body: UpdateEnvironmentRequest, _options?: Configuration): Promise; } export declare class FeatureFlagsApiResponseProcessor { /** * 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 archiveFeatureFlag * @throws ApiException if the response code was not in [200, 299] */ archiveFeatureFlag(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 createAllocationsForFeatureFlagInEnvironment * @throws ApiException if the response code was not in [200, 299] */ createAllocationsForFeatureFlagInEnvironment(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 createFeatureFlag * @throws ApiException if the response code was not in [200, 299] */ createFeatureFlag(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 createFeatureFlagsEnvironment * @throws ApiException if the response code was not in [200, 299] */ createFeatureFlagsEnvironment(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 deleteFeatureFlagsEnvironment * @throws ApiException if the response code was not in [200, 299] */ deleteFeatureFlagsEnvironment(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 disableFeatureFlagEnvironment * @throws ApiException if the response code was not in [200, 299] */ disableFeatureFlagEnvironment(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 enableFeatureFlagEnvironment * @throws ApiException if the response code was not in [200, 299] */ enableFeatureFlagEnvironment(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 getFeatureFlag * @throws ApiException if the response code was not in [200, 299] */ getFeatureFlag(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 getFeatureFlagsEnvironment * @throws ApiException if the response code was not in [200, 299] */ getFeatureFlagsEnvironment(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 listFeatureFlags * @throws ApiException if the response code was not in [200, 299] */ listFeatureFlags(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 listFeatureFlagsEnvironments * @throws ApiException if the response code was not in [200, 299] */ listFeatureFlagsEnvironments(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 pauseExposureSchedule * @throws ApiException if the response code was not in [200, 299] */ pauseExposureSchedule(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 resumeExposureSchedule * @throws ApiException if the response code was not in [200, 299] */ resumeExposureSchedule(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 startExposureSchedule * @throws ApiException if the response code was not in [200, 299] */ startExposureSchedule(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 stopExposureSchedule * @throws ApiException if the response code was not in [200, 299] */ stopExposureSchedule(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 unarchiveFeatureFlag * @throws ApiException if the response code was not in [200, 299] */ unarchiveFeatureFlag(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 updateAllocationsForFeatureFlagInEnvironment * @throws ApiException if the response code was not in [200, 299] */ updateAllocationsForFeatureFlagInEnvironment(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 updateFeatureFlag * @throws ApiException if the response code was not in [200, 299] */ updateFeatureFlag(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 updateFeatureFlagsEnvironment * @throws ApiException if the response code was not in [200, 299] */ updateFeatureFlagsEnvironment(response: ResponseContext): Promise; } export interface FeatureFlagsApiArchiveFeatureFlagRequest { /** * The ID of the feature flag. * @type string */ featureFlagId: string; } export interface FeatureFlagsApiCreateAllocationsForFeatureFlagInEnvironmentRequest { /** * The ID of the feature flag. * @type string */ featureFlagId: string; /** * The ID of the environment. * @type string */ environmentId: string; /** * @type CreateAllocationsRequest */ body: CreateAllocationsRequest; } export interface FeatureFlagsApiCreateFeatureFlagRequest { /** * @type CreateFeatureFlagRequest */ body: CreateFeatureFlagRequest; } export interface FeatureFlagsApiCreateFeatureFlagsEnvironmentRequest { /** * @type CreateEnvironmentRequest */ body: CreateEnvironmentRequest; } export interface FeatureFlagsApiDeleteFeatureFlagsEnvironmentRequest { /** * The ID of the environment. * @type string */ environmentId: string; } export interface FeatureFlagsApiDisableFeatureFlagEnvironmentRequest { /** * The ID of the feature flag. * @type string */ featureFlagId: string; /** * The ID of the environment. * @type string */ environmentId: string; } export interface FeatureFlagsApiEnableFeatureFlagEnvironmentRequest { /** * The ID of the feature flag. * @type string */ featureFlagId: string; /** * The ID of the environment. * @type string */ environmentId: string; } export interface FeatureFlagsApiGetFeatureFlagRequest { /** * The ID of the feature flag. * @type string */ featureFlagId: string; } export interface FeatureFlagsApiGetFeatureFlagsEnvironmentRequest { /** * The ID of the environment. * @type string */ environmentId: string; } export interface FeatureFlagsApiListFeatureFlagsRequest { /** * Filter feature flags by key (partial matching). * @type string */ key?: string; /** * Filter by archived status. * @type boolean */ isArchived?: boolean; /** * Maximum number of results to return. * @type number */ limit?: number; /** * Number of results to skip. * @type number */ offset?: number; } export interface FeatureFlagsApiListFeatureFlagsEnvironmentsRequest { /** * Filter environments by name (partial matching). * @type string */ name?: string; /** * Filter environments by key (partial matching). * @type string */ key?: string; /** * Maximum number of results to return. * @type number */ limit?: number; /** * Number of results to skip. * @type number */ offset?: number; } export interface FeatureFlagsApiPauseExposureScheduleRequest { /** * The ID of the exposure schedule. * @type string */ exposureScheduleId: string; } export interface FeatureFlagsApiResumeExposureScheduleRequest { /** * The ID of the exposure schedule. * @type string */ exposureScheduleId: string; } export interface FeatureFlagsApiStartExposureScheduleRequest { /** * The ID of the exposure schedule. * @type string */ exposureScheduleId: string; } export interface FeatureFlagsApiStopExposureScheduleRequest { /** * The ID of the exposure schedule. * @type string */ exposureScheduleId: string; } export interface FeatureFlagsApiUnarchiveFeatureFlagRequest { /** * The ID of the feature flag. * @type string */ featureFlagId: string; } export interface FeatureFlagsApiUpdateAllocationsForFeatureFlagInEnvironmentRequest { /** * The ID of the feature flag. * @type string */ featureFlagId: string; /** * The ID of the environment. * @type string */ environmentId: string; /** * @type OverwriteAllocationsRequest */ body: OverwriteAllocationsRequest; } export interface FeatureFlagsApiUpdateFeatureFlagRequest { /** * The ID of the feature flag. * @type string */ featureFlagId: string; /** * @type UpdateFeatureFlagRequest */ body: UpdateFeatureFlagRequest; } export interface FeatureFlagsApiUpdateFeatureFlagsEnvironmentRequest { /** * The ID of the environment. * @type string */ environmentId: string; /** * @type UpdateEnvironmentRequest */ body: UpdateEnvironmentRequest; } export declare class FeatureFlagsApi { private requestFactory; private responseProcessor; private configuration; constructor(configuration: Configuration, requestFactory?: FeatureFlagsApiRequestFactory, responseProcessor?: FeatureFlagsApiResponseProcessor); /** * Archives a feature flag. Archived flags are * hidden from the main list but remain accessible and can be unarchived. * @param param The request object */ archiveFeatureFlag(param: FeatureFlagsApiArchiveFeatureFlagRequest, options?: Configuration): Promise; /** * Creates a new targeting rule (allocation) for a specific feature flag in a specific environment. * @param param The request object */ createAllocationsForFeatureFlagInEnvironment(param: FeatureFlagsApiCreateAllocationsForFeatureFlagInEnvironmentRequest, options?: Configuration): Promise; /** * Creates a new feature flag with variants. * @param param The request object */ createFeatureFlag(param: FeatureFlagsApiCreateFeatureFlagRequest, options?: Configuration): Promise; /** * Creates a new environment for organizing feature flags. * @param param The request object */ createFeatureFlagsEnvironment(param: FeatureFlagsApiCreateFeatureFlagsEnvironmentRequest, options?: Configuration): Promise; /** * Deletes an environment. This operation cannot be undone. * @param param The request object */ deleteFeatureFlagsEnvironment(param: FeatureFlagsApiDeleteFeatureFlagsEnvironmentRequest, options?: Configuration): Promise; /** * Disable a feature flag in a specific environment. * @param param The request object */ disableFeatureFlagEnvironment(param: FeatureFlagsApiDisableFeatureFlagEnvironmentRequest, options?: Configuration): Promise; /** * Enable a feature flag in a specific environment. * @param param The request object */ enableFeatureFlagEnvironment(param: FeatureFlagsApiEnableFeatureFlagEnvironmentRequest, options?: Configuration): Promise; /** * Returns the details of a specific feature flag * including variants and environment status. * @param param The request object */ getFeatureFlag(param: FeatureFlagsApiGetFeatureFlagRequest, options?: Configuration): Promise; /** * Returns the details of a specific environment. * @param param The request object */ getFeatureFlagsEnvironment(param: FeatureFlagsApiGetFeatureFlagsEnvironmentRequest, options?: Configuration): Promise; /** * Returns a list of feature flags for the organization. * Supports filtering by key and archived status. * @param param The request object */ listFeatureFlags(param?: FeatureFlagsApiListFeatureFlagsRequest, options?: Configuration): Promise; /** * Returns a list of environments for the organization. * Supports filtering by name and key. * @param param The request object */ listFeatureFlagsEnvironments(param?: FeatureFlagsApiListFeatureFlagsEnvironmentsRequest, options?: Configuration): Promise; /** * Pauses a progressive rollout while preserving rollout state. * @param param The request object */ pauseExposureSchedule(param: FeatureFlagsApiPauseExposureScheduleRequest, options?: Configuration): Promise; /** * Resumes progression for a previously paused progressive rollout. * @param param The request object */ resumeExposureSchedule(param: FeatureFlagsApiResumeExposureScheduleRequest, options?: Configuration): Promise; /** * Starts a progressive rollout and begins progression. * @param param The request object */ startExposureSchedule(param: FeatureFlagsApiStartExposureScheduleRequest, options?: Configuration): Promise; /** * Stops a progressive rollout and marks it as aborted. * @param param The request object */ stopExposureSchedule(param: FeatureFlagsApiStopExposureScheduleRequest, options?: Configuration): Promise; /** * Unarchives a previously archived feature flag, * making it visible in the main list again. * @param param The request object */ unarchiveFeatureFlag(param: FeatureFlagsApiUnarchiveFeatureFlagRequest, options?: Configuration): Promise; /** * Updates targeting rules (allocations) for a specific feature flag in a specific environment. * This operation replaces the existing allocation set with the request payload. * @param param The request object */ updateAllocationsForFeatureFlagInEnvironment(param: FeatureFlagsApiUpdateAllocationsForFeatureFlagInEnvironmentRequest, options?: Configuration): Promise; /** * Updates an existing feature flag's metadata such as * name and description. Does not modify targeting rules or allocations. * @param param The request object */ updateFeatureFlag(param: FeatureFlagsApiUpdateFeatureFlagRequest, options?: Configuration): Promise; /** * Updates an existing environment's metadata such as * name and description. * @param param The request object */ updateFeatureFlagsEnvironment(param: FeatureFlagsApiUpdateFeatureFlagsEnvironmentRequest, options?: Configuration): Promise; }