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


interface Credentials {
  raindropOAuth2Api: CredentialReference;
}

export type RaindropV1CollectionGetAllParams = {
  resource: 'collection';
  operation: 'getAll';
/**
 * Type
 * @default parent
 */
    type?: 'parent' | 'children' | 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 RaindropV1CollectionGetAllOutput = {
  _id?: number;
  access?: {
    draggable?: boolean;
    'for'?: number;
    level?: number;
    root?: boolean;
  };
  author?: boolean;
  color?: string;
  count?: number;
  cover?: Array<string>;
  created?: string;
  creatorRef?: {
    _id?: number;
    email?: string;
    name?: string;
  };
  description?: string;
  expanded?: boolean;
  lastAction?: string;
  lastUpdate?: string;
  public?: boolean;
  slug?: string;
  sort?: number;
  title?: string;
  user?: {
    $id?: number;
    $ref?: string;
  };
  view?: string;
};

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