/**
 * 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';
/**
 *
 * @export
 * @interface CreateUserRequestBody
 */
export interface CreateUserRequestBody {
    /**
     * Optional user hash ID (will be generated if not provided)
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    userId?: string;
    /**
     * User handle (unique username)
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    handle: string;
    /**
     * Wallet address (required)
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    wallet: string;
    /**
     * Display name
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    name?: string;
    /**
     * User bio
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    bio?: string;
    /**
     * User location
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    location?: string;
    /**
     * Website URL
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    website?: string;
    /**
     * Donation link
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    donation?: string;
    /**
     * Twitter handle (without @)
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    twitterHandle?: string;
    /**
     * Instagram handle (without @)
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    instagramHandle?: string;
    /**
     * TikTok handle (without @)
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    tiktokHandle?: string;
    /**
     * Profile picture CID or URL
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    profilePicture?: string;
    /**
     * Profile picture sizes metadata
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    profilePictureSizes?: string;
    /**
     * Cover photo CID or URL
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    coverPhoto?: string;
    /**
     * Cover photo sizes metadata
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    coverPhotoSizes?: string;
    /**
     * Type of profile (e.g., 'label' for record labels)
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    profileType?: CreateUserRequestBodyProfileTypeEnum;
    /**
     * Whether to allow AI attribution
     * @type {boolean}
     * @memberof CreateUserRequestBody
     */
    allowAiAttribution?: boolean;
    /**
     * Solana USDC payout wallet address
     * @type {string}
     * @memberof CreateUserRequestBody
     */
    splUsdcPayoutWallet?: string;
    /**
     *
     * @type {UserPlaylistLibrary}
     * @memberof CreateUserRequestBody
     */
    playlistLibrary?: UserPlaylistLibrary;
    /**
     *
     * @type {UpdateUserRequestBodyEvents}
     * @memberof CreateUserRequestBody
     */
    events?: UpdateUserRequestBodyEvents;
}
/**
 * @export
 */
export declare const CreateUserRequestBodyProfileTypeEnum: {
    readonly Label: "label";
};
export type CreateUserRequestBodyProfileTypeEnum = typeof CreateUserRequestBodyProfileTypeEnum[keyof typeof CreateUserRequestBodyProfileTypeEnum];
/**
 * Check if a given object implements the CreateUserRequestBody interface.
 */
export declare function instanceOfCreateUserRequestBody(value: object): value is CreateUserRequestBody;
export declare function CreateUserRequestBodyFromJSON(json: any): CreateUserRequestBody;
export declare function CreateUserRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateUserRequestBody;
export declare function CreateUserRequestBodyToJSON(value?: CreateUserRequestBody | null): any;
