/**
 * Ghost Node - Version 1
 * Discriminator: resource=post, operation=getAll
 */


interface Credentials {
  ghostAdminApi: CredentialReference;
  ghostContentApi: CredentialReference;
}

/** Get many posts */
export type GhostV1PostGetAllParams = {
  resource: 'post';
  operation: 'getAll';
/**
 * Pick where your data comes from, Content or Admin API
 * @default contentApi
 */
    source?: 'adminApi' | 'contentApi' | Expression<string>;
/**
 * Whether to return all results or only up to a given limit
 * @displayOptions.show { source: ["contentApi", "adminApi"] }
 * @default false
 */
    returnAll?: boolean | Expression<boolean>;
/**
 * Max number of results to return
 * @displayOptions.show { source: ["adminApi", "contentApi"], returnAll: [false] }
 * @default 50
 */
    limit?: number | Expression<number>;
/**
 * Options
 * @displayOptions.show { source: ["contentApi"] }
 * @default {}
 */
    options?: {
    /** Tells the API to return additional data related to the resource you have requested
     * @default []
     */
    include?: Array<'authors' | 'tags'>;
    /** Limit the fields returned in the response object. E.g. for posts fields=title,url.
     */
    fields?: string | Expression<string> | PlaceholderValue;
    /** By default, only html is returned, however each post and page in Ghost has 2 available formats: html and plaintext
     * @default ["html"]
     */
    formats?: Array<'html' | 'plaintext' | 'lexical'>;
  };
};

export type GhostV1PostGetAllNode = {
  type: 'n8n-nodes-base.ghost';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<GhostV1PostGetAllParams>;
};