/**
 * Spotify Node - Version 1
 * Discriminator: resource=playlist, operation=create
 */


interface Credentials {
  spotifyOAuth2Api: CredentialReference;
}

/** Create a new playlist */
export type SpotifyV1PlaylistCreateParams = {
  resource: 'playlist';
  operation: 'create';
/**
 * Name of the playlist to create
 */
    name?: string | Expression<string> | PlaceholderValue;
/**
 * Additional Fields
 * @default {}
 */
    additionalFields?: {
    /** Description for the playlist to create
     */
    description?: string | Expression<string> | PlaceholderValue;
    /** Whether the playlist is publicly accessible
     * @default true
     */
    public?: boolean | Expression<boolean>;
  };
};

export type SpotifyV1PlaylistCreateOutput = {
  collaborative?: boolean;
  description?: string;
  external_urls?: {
    spotify?: string;
  };
  followers?: {
    href?: null;
    total?: number;
  };
  href?: string;
  id?: string;
  name?: string;
  owner?: {
    display_name?: null;
    external_urls?: {
      spotify?: string;
    };
    href?: string;
    id?: string;
    type?: string;
    uri?: string;
  };
  primary_color?: null;
  public?: boolean;
  snapshot_id?: string;
  tracks?: {
    href?: string;
    limit?: number;
    next?: null;
    offset?: number;
    previous?: null;
    total?: number;
  };
  type?: string;
  uri?: string;
};

export type SpotifyV1PlaylistCreateNode = {
  type: 'n8n-nodes-base.spotify';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<SpotifyV1PlaylistCreateParams>;
  output?: Items<SpotifyV1PlaylistCreateOutput>;
};