/**
 * Hacker News Node - Version 1
 * Discriminator: resource=all, operation=getAll
 */


/** Get many items */
export type HackerNewsV1AllGetAllParams = {
  resource: 'all';
  operation: 'getAll';
/**
 * Whether to return all results or only up to a given limit
 * @default false
 */
    returnAll?: boolean | Expression<boolean>;
/**
 * Max number of results to return
 * @displayOptions.show { returnAll: [false] }
 * @default 100
 */
    limit?: number | Expression<number>;
/**
 * Additional Fields
 * @default {}
 */
    additionalFields?: {
    /** The keyword for filtering the results of the query
     */
    keyword?: string | Expression<string> | PlaceholderValue;
    /** Tags for filtering the results of the query
     * @default []
     */
    tags?: Array<'ask_hn' | 'comment' | 'front_page' | 'poll' | 'show_hn' | 'story'>;
  };
};

export type HackerNewsV1AllGetAllOutput = {
  _highlightResult?: {
    author?: {
      matchLevel?: string;
      value?: string;
    };
    title?: {
      fullyHighlighted?: boolean;
      matchedWords?: Array<string>;
      matchLevel?: string;
      value?: string;
    };
    url?: {
      fullyHighlighted?: boolean;
      matchedWords?: Array<string>;
      matchLevel?: string;
      value?: string;
    };
  };
  _tags?: Array<string>;
  author?: string;
  children?: Array<number>;
  created_at?: string;
  created_at_i?: number;
  num_comments?: number;
  objectID?: string;
  story_id?: number;
  title?: string;
  updated_at?: string;
  url?: string;
};

export type HackerNewsV1AllGetAllNode = {
  type: 'n8n-nodes-base.hackerNews';
  version: 1;
  config: NodeConfig<HackerNewsV1AllGetAllParams>;
  output?: Items<HackerNewsV1AllGetAllOutput>;
};