import { CloudinaryAssetMgmtCore } from "../core.js";
import { RequestOptions } from "../lib/sdks.js";
import * as components from "../models/components/index.js";
import { CloudinaryAssetMgmtError } from "../models/errors/cloudinaryassetmgmterror.js";
import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
import * as errors from "../models/errors/index.js";
import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
import * as operations from "../models/operations/index.js";
import { APIPromise } from "../types/async.js";
import { Result } from "../types/fp.js";
/**
 * Create asset relations by public ID
 *
 * @remarks
 * Relates an asset to other assets by public IDs. This allows you to indicate that the asset is logically related to other assets in some way (e.g., similar content, or a peripheral asset like video/transcript, etc). This is a bidirectional process, meaning that the asset is also added as a related_asset to all the other assets specified. The relation is also a one to many relationship, where the asset is related to all the assets specified, but those assets aren't also related to each other.
 */
export declare function assetRelationsCreateAssetRelationsByPublicId(client: CloudinaryAssetMgmtCore, resourceType: components.ResourceTypeParameter, type: operations.CreateAssetRelationsByPublicIdType | undefined, publicId: string, requestBody: operations.CreateAssetRelationsByPublicIdRequestBody, options?: RequestOptions): APIPromise<Result<components.AssetRelationsResponse, errors.ApiError | CloudinaryAssetMgmtError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
//# sourceMappingURL=assetRelationsCreateAssetRelationsByPublicId.d.ts.map