/**
 * YouTube Node - Version 1
 * Discriminator: resource=channel, operation=update
 */


interface Credentials {
  youTubeOAuth2Api: CredentialReference;
}

/** Update a channel */
export type YouTubeV1ChannelUpdateParams = {
  resource: 'channel';
  operation: 'update';
/**
 * Channel ID
 */
    channelId?: string | Expression<string> | PlaceholderValue;
/**
 * Update Fields
 * @default {}
 */
    updateFields?: {
    /** Encapsulates information about the branding of the channel
     * @default {}
     */
    brandingSettingsUi?: {
        /** The channel object encapsulates branding properties of the channel page
     */
    channelSettingsValues?: {
      /** Channel
       * @default {}
       */
      channel?: {
    /** The country with which the channel is associated. Update this property to set the value of the snippet.country property.
     */
    country?: string | Expression<string> | PlaceholderValue;
    /** The channel description, which appears in the channel information box on your channel page. The property's value has a maximum length of 1000 characters.
     */
    description?: string | Expression<string> | PlaceholderValue;
    /** The content tab that users should display by default when viewers arrive at your channel page
     */
    defaultLanguage?: string | Expression<string> | PlaceholderValue;
    /** Default Tab
     * @default The content tab that users should display by default when viewers arrive at your channel page.
     */
    defaultTab?: string | Expression<string> | PlaceholderValue;
    /** The title that displays above the featured channels module. The title has a maximum length of 30 characters.
     */
    featuredChannelsTitle?: string | Expression<string> | PlaceholderValue;
    /** A list of up to 100 channels that you would like to link to from the featured channels module. The property value is a list of YouTube channel ID values, each of which uniquely identifies a channel.
     * @default []
     */
    featuredChannelsUrls?: string | Expression<string> | PlaceholderValue;
    /** Keywords associated with your channel. The value is a space-separated list of strings.
     */
    keywords?: string | Expression<string> | PlaceholderValue;
    /** Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible
     * @default false
     */
    moderateComments?: boolean | Expression<boolean>;
    /** A prominent color that complements the channel's content
     */
    profileColor?: string | Expression<string> | PlaceholderValue;
    /** Whether YouTube should show an algorithmically generated list of related channels on your channel page
     * @default false
     */
    showRelatedChannels?: boolean | Expression<boolean>;
    /** Whether the channel page should display content in a browse or feed view
     * @default false
     */
    showBrowseView?: boolean | Expression<boolean>;
    /** The ID for a Google Analytics account that you want to use to track and measure traffic to your channel
     */
    trackingAnalyticsAccountId?: string | Expression<string> | PlaceholderValue;
    /** The video that should play in the featured video module in the channel page's browse view for unsubscribed viewers
     */
    unsubscribedTrailer?: string | Expression<string> | PlaceholderValue;
  };
    };
        /** Image Settings
     */
    imageSettingsValues?: {
      /** The image object encapsulates information about images that display on the channel's channel page or video watch pages
       * @default {}
       */
      image?: {
    /** Banner External Url
     */
    bannerExternalUrl?: string | Expression<string> | PlaceholderValue;
    /** Tracking Image Url
     */
    trackingImageUrl?: string | Expression<string> | PlaceholderValue;
    /** Watch Icon Image Url
     */
    watchIconImageUrl?: string | Expression<string> | PlaceholderValue;
  };
    };
        /** Status
     */
    statusValue?: {
      /** Status
       * @default {}
       */
      status?: {
    /** Self Declared Made For Kids
     * @default false
     */
    selfDeclaredMadeForKids?: boolean | Expression<boolean>;
  };
    };
  };
    /** On Behalf Of Content Owner
     */
    onBehalfOfContentOwner?: string | Expression<string> | PlaceholderValue;
  };
};

export type YouTubeV1ChannelUpdateNode = {
  type: 'n8n-nodes-base.youTube';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<YouTubeV1ChannelUpdateParams>;
};