import { HttpClient, HttpClientOptions, ContentstackClient, ContentstackConfig } from '@contentstack/cli-utilities'; import { APIConfig, AdapterType, AnyProperty, ExportConfig, VariantOptions, VariantsOption, VariantInterface, VariantEntryStruct, CreateVariantEntryDto, CreateVariantEntryOptions, APIResponse, PublishVariantEntryDto, PublishVariantEntryOptions } from '../types'; import messages from '../messages'; import { AdapterHelper } from './adapter-helper'; export declare class VariantHttpClient extends AdapterHelper implements VariantInterface { baseURL: string; exportConfig?: ExportConfig; constructor(config: APIConfig, options?: HttpClientOptions); init(): Promise; variantEntry(options: VariantOptions): Promise<{ entry: {}; }>; /** * The function `variantEntries` retrieves variant entries based on specified options and stores them * in an array. * @param {VariantsOption} options - The `options` parameter in the `variantEntries` function is an * object that contains the following properties: * @param {Record[]} entries - The `entries` parameter in the `variantEntries` function * is an array of objects where each object represents a record with key-value pairs. This parameter * is used to store the entries retrieved from the API response or passed down recursively when * fetching all data. * @returns The function `variantEntries` returns a Promise that resolves to an object with an * `entries` property containing an array of record objects or an unknown array. The function can * also return void if certain conditions are not met. */ variantEntries(options: VariantsOption, entries?: Record[]): Promise<{ entries?: Record[] | unknown[]; } | void>; /** * Creates a variant entry. * * @param input - The input data for the variant entry. * @param options - The options for creating the variant entry. * @param apiParams - Additional parameters for the API. * @returns A Promise that resolves to a VariantEntryStruct, a string, or void. */ createVariantEntry(input: CreateVariantEntryDto, options: CreateVariantEntryOptions, apiParams: Record): Promise; /** * Publishes a variant entry. * * @param input - The input data for publishing the variant entry. * @param options - The options for publishing the variant entry. * @param apiParams - Additional API parameters. * @returns A Promise that resolves to the published variant entry response. */ publishVariantEntry(input: PublishVariantEntryDto, options: PublishVariantEntryOptions, apiParams: Record): Promise; /** * Handles the API response for variant requests. * @param res - The API response object. * @returns The variant API response data. * @throws If the API response status is not within the success range, an error message is thrown. */ handleVariantAPIRes(res: APIResponse): Promise; } export declare class VariantManagementSDK extends AdapterHelper implements VariantInterface { apiClient: ContentstackClient; exportConfig?: any; init(): Promise; variantEntry(options: VariantOptions): Promise<{ entry: {}; }>; variantEntries(options: VariantsOption): Promise<{ entries: {}[]; }>; createVariantEntry(input: CreateVariantEntryDto, options: CreateVariantEntryOptions, apiParams: Record): Promise; handleVariantAPIRes(res: APIResponse): Promise; constructQuery(query: Record): string | void; delay(ms: number): Promise; } export declare class VariantAdapter { protected variantInstance: T; readonly messages: typeof messages; exportConfig?: any; constructor(config: ContentstackConfig & AnyProperty & AdapterType); constructor(config: APIConfig & AdapterType, options?: HttpClientOptions); } export default VariantAdapter;