/**
 * Raindrop Node - Version 1
 * Discriminator: resource=bookmark, operation=getAll
 */


interface Credentials {
  raindropOAuth2Api: CredentialReference;
}

export type RaindropV1BookmarkGetAllParams = {
  resource: 'bookmark';
  operation: 'getAll';
/**
 * The ID of the collection from which to retrieve all bookmarks. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
 * @default []
 */
    collectionId?: string | Expression<string>;
/**
 * 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 5
 */
    limit?: number | Expression<number>;
};

export type RaindropV1BookmarkGetAllOutput = {
  _id?: number;
  collection?: {
    $id?: number;
    $ref?: string;
    oid?: number;
  };
  collectionId?: number;
  cover?: string;
  created?: string;
  creatorRef?: {
    _id?: number;
    avatar?: string;
    email?: string;
    name?: string;
  };
  domain?: string;
  excerpt?: string;
  highlights?: Array<{
    _id?: string;
    color?: string;
    created?: string;
    creatorRef?: number;
    lastUpdate?: string;
    note?: string;
    text?: string;
  }>;
  important?: boolean;
  lastUpdate?: string;
  link?: string;
  media?: Array<{
    link?: string;
    type?: string;
  }>;
  note?: string;
  reminder?: {
    date?: null;
  };
  removed?: boolean;
  sort?: number;
  tags?: Array<string>;
  title?: string;
  type?: string;
  user?: {
    $id?: number;
    $ref?: string;
  };
};

export type RaindropV1BookmarkGetAllNode = {
  type: 'n8n-nodes-base.raindrop';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<RaindropV1BookmarkGetAllParams>;
  output?: Items<RaindropV1BookmarkGetAllOutput>;
};