import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import * as Extend from "../../../index"; export declare namespace SplitterVersionsClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } export declare class SplitterVersionsClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: SplitterVersionsClient.Options); /** * This endpoint allows you to fetch all versions of a given splitter, including the current `draft` version. * * Versions are returned in descending order of creation (newest first) with the `draft` version first. The `draft` version is the latest unpublished version of the splitter, which can be published to create a new version. It might not have any changes from the last published version. * * @param {string} splitterId - The ID of the splitter. * * Example: `"spl_Xj8mK2pL9nR4vT7qY5wZ"` * @param {Extend.SplitterVersionsListRequest} request * @param {SplitterVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Extend.BadRequestError} * @throws {@link Extend.UnauthorizedError} * @throws {@link Extend.PaymentRequiredError} * @throws {@link Extend.ForbiddenError} * @throws {@link Extend.NotFoundError} * @throws {@link Extend.UnprocessableEntityError} * @throws {@link Extend.TooManyRequestsError} * @throws {@link Extend.InternalServerError} * * @example * await client.splitterVersions.list("splitter_id_here", { * nextPageToken: "xK9mLPqRtN3vS8wF5hB2cQ==:zWvUxYjM4nKpL7aDgE9HbTcR2mAyX3/Q+CNkfBSw1dZ=" * }) */ list(splitterId: string, request?: Extend.SplitterVersionsListRequest, requestOptions?: SplitterVersionsClient.RequestOptions): core.HttpResponsePromise; private __list; /** * This endpoint allows you to publish a new version of an existing splitter. Publishing a new version creates a snapshot of the splitter's current configuration and makes it available for use in workflows. * * Publishing a new version does not automatically update existing workflows using this splitter. You may need to manually update workflows to use the new version if desired. * * @param {string} splitterId - The ID of the splitter. * * Example: `"spl_Xj8mK2pL9nR4vT7qY5wZ"` * @param {Extend.SplitterVersionsCreateRequest} request * @param {SplitterVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Extend.BadRequestError} * @throws {@link Extend.UnauthorizedError} * @throws {@link Extend.PaymentRequiredError} * @throws {@link Extend.ForbiddenError} * @throws {@link Extend.NotFoundError} * @throws {@link Extend.UnprocessableEntityError} * @throws {@link Extend.TooManyRequestsError} * @throws {@link Extend.InternalServerError} * * @example * await client.splitterVersions.create("splitter_id_here", { * releaseType: "minor", * description: "Improved split boundary detection" * }) */ create(splitterId: string, request: Extend.SplitterVersionsCreateRequest, requestOptions?: SplitterVersionsClient.RequestOptions): core.HttpResponsePromise; private __create; /** * Retrieve a specific version of a splitter in Extend * * @param {string} splitterId - The ID of the splitter. * * Example: `"spl_Xj8mK2pL9nR4vT7qY5wZ"` * @param {string} versionId - The version to retrieve. Accepts any of the following: * * - `"draft"` — returns the current draft version * - `"latest"` — returns the latest published version (falls back to draft if none published) * - A version number (e.g. `"0.1"`, `"1.0"`) — returns that specific published version * - A version ID (e.g. `"splv_QYk6jgHA_8CsO8rVWhyNC"`) — returns that specific version by ID * @param {Extend.SplitterVersionsRetrieveRequest} request * @param {SplitterVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Extend.BadRequestError} * @throws {@link Extend.UnauthorizedError} * @throws {@link Extend.PaymentRequiredError} * @throws {@link Extend.ForbiddenError} * @throws {@link Extend.NotFoundError} * @throws {@link Extend.UnprocessableEntityError} * @throws {@link Extend.TooManyRequestsError} * @throws {@link Extend.InternalServerError} * * @example * await client.splitterVersions.retrieve("splitter_id_here", "draft") */ retrieve(splitterId: string, versionId: string, request?: Extend.SplitterVersionsRetrieveRequest, requestOptions?: SplitterVersionsClient.RequestOptions): core.HttpResponsePromise; private __retrieve; }