import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import { GetV2TargetIdentifierAttributesRequest, GetV2TargetIdentifierAttributesResponse } from "../models/operations/getv2targetidentifierattributes.js";
import { GetV2TargetIdentifierAttributesAttributeRequest, GetV2TargetIdentifierAttributesAttributeResponse } from "../models/operations/getv2targetidentifierattributesattribute.js";
import { GetV2TargetIdentifierAttributesAttributeOptionsRequest, GetV2TargetIdentifierAttributesAttributeOptionsResponse } from "../models/operations/getv2targetidentifierattributesattributeoptions.js";
import { GetV2TargetIdentifierAttributesAttributeStatusesRequest, GetV2TargetIdentifierAttributesAttributeStatusesResponse } from "../models/operations/getv2targetidentifierattributesattributestatuses.js";
import { PatchV2TargetIdentifierAttributesAttributeRequest, PatchV2TargetIdentifierAttributesAttributeResponse } from "../models/operations/patchv2targetidentifierattributesattribute.js";
import { PatchV2TargetIdentifierAttributesAttributeOptionsOptionRequest, PatchV2TargetIdentifierAttributesAttributeOptionsOptionResponse } from "../models/operations/patchv2targetidentifierattributesattributeoptionsoption.js";
import { PostV2TargetIdentifierAttributesRequest, PostV2TargetIdentifierAttributesResponse } from "../models/operations/postv2targetidentifierattributes.js";
import { PostV2TargetIdentifierAttributesAttributeOptionsRequest, PostV2TargetIdentifierAttributesAttributeOptionsResponse } from "../models/operations/postv2targetidentifierattributesattributeoptions.js";
import { Statuses } from "./statuses.js";
export declare class Attributes extends ClientSDK {
    private _statuses?;
    get statuses(): Statuses;
    /**
     * List attributes
     *
     * @remarks
     * Lists all attributes defined on a specific object or list. Attributes are returned in the order that they are sorted by in the UI.
     *
     * Required scopes: `object_configuration:read`.
     */
    list(request: GetV2TargetIdentifierAttributesRequest, options?: RequestOptions): Promise<GetV2TargetIdentifierAttributesResponse>;
    /**
     * Create an attribute
     *
     * @remarks
     * Creates a new attribute on either an object or a list.
     *
     * To create an attribute on an object, you must also have the `object_configuration:read-write` scope.
     *
     * To create an attribute on a list, you must also have the `list_configuration:read-write` scope.
     */
    create(request: PostV2TargetIdentifierAttributesRequest, options?: RequestOptions): Promise<PostV2TargetIdentifierAttributesResponse>;
    /**
     * Get an attribute
     *
     * @remarks
     * Gets information about a single attribute on either an object or a list.
     *
     * Required scopes: `object_configuration:read`.
     */
    get(request: GetV2TargetIdentifierAttributesAttributeRequest, options?: RequestOptions): Promise<GetV2TargetIdentifierAttributesAttributeResponse>;
    /**
     * Update an attribute
     *
     * @remarks
     * Updates a single attribute on a given object or list.
     *
     * Required scopes: `object_configuration:read-write`.
     */
    update(request: PatchV2TargetIdentifierAttributesAttributeRequest, options?: RequestOptions): Promise<PatchV2TargetIdentifierAttributesAttributeResponse>;
    /**
     * List select options
     *
     * @remarks
     * Lists all select options for a particular attribute on either an object or a list.
     *
     * Required scopes: `object_configuration:read`.
     */
    listSelectOptions(request: GetV2TargetIdentifierAttributesAttributeOptionsRequest, options?: RequestOptions): Promise<GetV2TargetIdentifierAttributesAttributeOptionsResponse>;
    /**
     * Create a select option
     *
     * @remarks
     * Adds a select option to a select attribute on an object or a list.
     *
     * Required scopes: `object_configuration:read-write`.
     */
    createSelectOption(request: PostV2TargetIdentifierAttributesAttributeOptionsRequest, options?: RequestOptions): Promise<PostV2TargetIdentifierAttributesAttributeOptionsResponse>;
    /**
     * Update a select option
     *
     * @remarks
     * Updates a select option on an attribute on either an object or a list.
     *
     * Required scopes: `object_configuration:read-write`.
     */
    updateOption(request: PatchV2TargetIdentifierAttributesAttributeOptionsOptionRequest, options?: RequestOptions): Promise<PatchV2TargetIdentifierAttributesAttributeOptionsOptionResponse>;
    /**
     * List statuses
     *
     * @remarks
     * Lists all statuses for a particular status attribute on either an object or a list.
     *
     * Required scopes: `object_configuration:read`.
     */
    listStatuses(request: GetV2TargetIdentifierAttributesAttributeStatusesRequest, options?: RequestOptions): Promise<GetV2TargetIdentifierAttributesAttributeStatusesResponse>;
}
//# sourceMappingURL=attributes.d.ts.map