/**
 * Keap Node - Version 1
 * Discriminator: resource=company, operation=getAll
 */


interface Credentials {
  keapOAuth2Api: CredentialReference;
}

/** Retrieve many companies */
export type KeapV1CompanyGetAllParams = {
  resource: 'company';
  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>;
/**
 * Options
 * @default {}
 */
    options?: {
    /** Company name to query on
     */
    companyName?: string | Expression<string> | PlaceholderValue;
    /** Attribute to order items by
     */
    order?: 'datecreated' | 'id' | 'name' | Expression<string>;
    /** Order Direction
     */
    orderDirection?: 'ascending' | 'descending' | Expression<string>;
    /** Comma-delimited list of Company properties to include in the response. (Fields such as notes, fax_number and custom_fields aren't included, by default.).
     */
    fields?: string | Expression<string> | PlaceholderValue;
  };
};

export type KeapV1CompanyGetAllNode = {
  type: 'n8n-nodes-base.keap';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<KeapV1CompanyGetAllParams>;
};