/**
 * API
 * Audius V1 API
 *
 * The version of the OpenAPI document: 1.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { UpdateUserRequestBodyEvents } from './UpdateUserRequestBodyEvents';
import type { UserPlaylistLibrary } from './UserPlaylistLibrary';
/**
 * Request body for updating user profile. All fields are optional.
 * @export
 * @interface UpdateUserRequestBody
 */
export interface UpdateUserRequestBody {
    /**
     * User handle. Can only be set if the user does not already have a handle.
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    handle?: string;
    /**
     * Display name
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    name?: string;
    /**
     * User bio
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    bio?: string;
    /**
     * User location
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    location?: string;
    /**
     * Website URL
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    website?: string;
    /**
     * Donation link
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    donation?: string;
    /**
     * Twitter handle (without @)
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    twitterHandle?: string;
    /**
     * Instagram handle (without @)
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    instagramHandle?: string;
    /**
     * TikTok handle (without @)
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    tiktokHandle?: string;
    /**
     * Profile picture CID or URL
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    profilePicture?: string;
    /**
     * Profile picture sizes metadata
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    profilePictureSizes?: string;
    /**
     * Cover photo CID or URL
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    coverPhoto?: string;
    /**
     * Cover photo sizes metadata
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    coverPhotoSizes?: string;
    /**
     * Type of profile (e.g., 'label' for record labels)
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    profileType?: UpdateUserRequestBodyProfileTypeEnum;
    /**
     * Whether the user is deactivated
     * @type {boolean}
     * @memberof UpdateUserRequestBody
     */
    isDeactivated?: boolean;
    /**
     * Track hash ID to feature as artist pick
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    artistPickTrackId?: string;
    /**
     * Whether to allow AI attribution
     * @type {boolean}
     * @memberof UpdateUserRequestBody
     */
    allowAiAttribution?: boolean;
    /**
     * Solana USDC payout wallet address
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    splUsdcPayoutWallet?: string;
    /**
     * Coin flair mint address
     * @type {string}
     * @memberof UpdateUserRequestBody
     */
    coinFlairMint?: string;
    /**
     *
     * @type {UserPlaylistLibrary}
     * @memberof UpdateUserRequestBody
     */
    playlistLibrary?: UserPlaylistLibrary;
    /**
     *
     * @type {UpdateUserRequestBodyEvents}
     * @memberof UpdateUserRequestBody
     */
    events?: UpdateUserRequestBodyEvents;
}
/**
 * @export
 */
export declare const UpdateUserRequestBodyProfileTypeEnum: {
    readonly Label: "label";
};
export type UpdateUserRequestBodyProfileTypeEnum = typeof UpdateUserRequestBodyProfileTypeEnum[keyof typeof UpdateUserRequestBodyProfileTypeEnum];
/**
 * Check if a given object implements the UpdateUserRequestBody interface.
 */
export declare function instanceOfUpdateUserRequestBody(value: object): value is UpdateUserRequestBody;
export declare function UpdateUserRequestBodyFromJSON(json: any): UpdateUserRequestBody;
export declare function UpdateUserRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateUserRequestBody;
export declare function UpdateUserRequestBodyToJSON(value?: UpdateUserRequestBody | null): any;
