/**
 * Trello Node - Version 1
 * Discriminator: resource=board, operation=update
 */


interface Credentials {
  trelloApi: CredentialReference;
}

/** Update a board */
export type TrelloV1BoardUpdateParams = {
  resource: 'board';
  operation: 'update';
/**
 * The ID of the board
 * @default {"mode":"list","value":""}
 */
    id?: { __rl: true; mode: 'list' | 'url' | 'id'; value: string; cachedResultName?: string };
/**
 * Update Fields
 * @default {}
 */
    updateFields?: {
    /** Whether the board is closed
     * @default false
     */
    closed?: boolean | Expression<boolean>;
    /** New description of the board
     */
    desc?: string | Expression<string> | PlaceholderValue;
    /** New name of the board
     */
    name?: string | Expression<string> | PlaceholderValue;
    /** The ID of the team the board should be moved to
     */
    idOrganization?: string | Expression<string> | PlaceholderValue;
    /** Whether the acting user is subscribed to the board
     * @default false
     */
    subscribed?: boolean | Expression<boolean>;
  };
};

export type TrelloV1BoardUpdateOutput = {
  closed?: boolean;
  desc?: string;
  id?: string;
  idEnterprise?: null;
  idOrganization?: string;
  labelNames?: {
    black?: string;
    black_dark?: string;
    black_light?: string;
    blue?: string;
    blue_dark?: string;
    blue_light?: string;
    green?: string;
    green_dark?: string;
    green_light?: string;
    lime?: string;
    lime_dark?: string;
    lime_light?: string;
    orange?: string;
    orange_dark?: string;
    orange_light?: string;
    pink?: string;
    pink_dark?: string;
    pink_light?: string;
    purple?: string;
    purple_dark?: string;
    purple_light?: string;
    red?: string;
    red_dark?: string;
    red_light?: string;
    sky?: string;
    sky_dark?: string;
    sky_light?: string;
    yellow?: string;
    yellow_dark?: string;
    yellow_light?: string;
  };
  name?: string;
  pinned?: boolean;
  prefs?: {
    background?: string;
    backgroundBottomColor?: string;
    backgroundBrightness?: string;
    backgroundTile?: boolean;
    backgroundTopColor?: string;
    calendarFeedEnabled?: boolean;
    canBeEnterprise?: boolean;
    canBeOrg?: boolean;
    canBePrivate?: boolean;
    canBePublic?: boolean;
    canInvite?: boolean;
    cardAging?: string;
    cardCounts?: boolean;
    cardCovers?: boolean;
    comments?: string;
    hideVotes?: boolean;
    invitations?: string;
    isTemplate?: boolean;
    permissionLevel?: string;
    selfJoin?: boolean;
    switcherViews?: Array<{
      enabled?: boolean;
      viewType?: string;
    }>;
    voting?: string;
  };
  shortUrl?: string;
  url?: string;
};

export type TrelloV1BoardUpdateNode = {
  type: 'n8n-nodes-base.trello';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<TrelloV1BoardUpdateParams>;
  output?: Items<TrelloV1BoardUpdateOutput>;
};