import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import * as components from "../models/components/index.js";
import * as operations from "../models/operations/index.js";
export declare class MetadataFields extends ClientSDK {
    /**
     * Creates a new structured metadata field in your account
     *
     * @remarks
     * Creates a new metadata field with the specified properties and configuration.
     */
    createMetadataField(request: components.MetadataField, options?: RequestOptions): Promise<components.MetadataField>;
    /**
     * Lists all structured metadata fields defined in your Cloudinary product environment
     *
     * @remarks
     * Retrieves a list of all metadata fields in the product environment based on the provided filters.
     */
    listMetadataFields(externalIds?: Array<string> | undefined, options?: RequestOptions): Promise<operations.ListMetadataFieldsResponse>;
    /**
     * Retrieves the definition of a specific structured metadata field by its identifier (external_id)
     *
     * @remarks
     * Retrieves detailed information about the specified metadata field.
     */
    getMetadataField(externalId: string, options?: RequestOptions): Promise<components.MetadataField>;
    /**
     * Updates the configuration of an existing metadata field
     *
     * @remarks
     * Updates the properties and configuration of the specified metadata field.
     */
    updateMetadataField(externalId: string, metadataField: components.MetadataField, options?: RequestOptions): Promise<components.MetadataField>;
    /**
     * Deletes a structured metadata field definition from your account
     *
     * @remarks
     * Permanently deletes the specified metadata field and all its associated data.
     */
    deleteMetadataField(externalId: string, options?: RequestOptions): Promise<operations.DeleteMetadataFieldResponse>;
    /**
     * Search across all metadata field datasources
     *
     * @remarks
     * Performs a search across all metadata field datasources to find matching values.
     */
    searchMetadataFieldDatasource(request: operations.SearchMetadataFieldDatasourceRequest, options?: RequestOptions): Promise<Array<operations.SearchMetadataFieldDatasourceResponse>>;
    /**
     * Reorder all metadata fields
     *
     * @remarks
     * Changes the display order of all metadata fields based on specified criteria.
     */
    reorderMetadataFields(request: operations.ReorderMetadataFieldsRequest, options?: RequestOptions): Promise<operations.ReorderMetadataFieldsResponse>;
    /**
     * Change position of metadata field
     *
     * @remarks
     * Changes the display position of a specific metadata field within the list.
     */
    reorderMetadataField(externalId: string, requestBody: operations.ReorderMetadataFieldRequestBody, options?: RequestOptions): Promise<operations.ReorderMetadataFieldResponse>;
    /**
     * Updates the allowed values (the datasource) for a specified metadata field
     *
     * @remarks
     * Updates the values in a metadata field's datasource, including adding, modifying, or changing the order of values.
     */
    updateMetadataFieldDatasource(externalId: string, requestBody: operations.UpdateMetadataFieldDatasourceRequestBody, options?: RequestOptions): Promise<operations.UpdateMetadataFieldDatasourceResponse>;
    /**
     * Removes one or more allowed values from a metadata field's datasource
     *
     * @remarks
     * Removes specific values from a metadata field's datasource by their external IDs.
     */
    deleteMetadataFieldDatasource(externalId: string, requestBody: operations.DeleteMetadataFieldDatasourceRequestBody, options?: RequestOptions): Promise<components.MetadataFieldDatasourceValuesArray>;
    /**
     * Search datasource values in a metadata field
     *
     * @remarks
     * Performs a search within a specific metadata field's datasource to find matching values, with support for exact or partial matches.
     */
    searchDatasourceInMDField(externalId: string, requestBody: operations.SearchDatasourceInMDFieldRequestBody, maxResults?: number | undefined, term?: string | undefined, exactMatch?: boolean | undefined, options?: RequestOptions): Promise<components.MetadataFieldDatasourceValuesArray>;
    /**
     * Restore datasource values
     *
     * @remarks
     * Restores datasource values that have been deleted.
     */
    restoreMetadataFieldDatasource(externalId: string, requestBody: operations.RestoreMetadataFieldDatasourceRequestBody, options?: RequestOptions): Promise<components.MetadataFieldDatasourceValuesArray>;
}
//# sourceMappingURL=metadatafields.d.ts.map