/**
 * Zendesk Node - Version 1
 * Discriminator: resource=organization, operation=getAll
 */


interface Credentials {
  zendeskApi: CredentialReference;
  zendeskOAuth2Api: CredentialReference;
}

/** Manage organizations */
export type ZendeskV1OrganizationGetAllParams = {
  resource: 'organization';
  operation: 'getAll';
  authentication?: 'apiToken' | 'oAuth2' | 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 100
 */
    limit?: number | Expression<number>;
};

export type ZendeskV1OrganizationGetAllOutput = {
  created_at?: string;
  domain_names?: Array<string>;
  id?: number;
  name?: string;
  shared_comments?: boolean;
  shared_tickets?: boolean;
  tags?: Array<string>;
  updated_at?: string;
  url?: string;
};

export type ZendeskV1OrganizationGetAllNode = {
  type: 'n8n-nodes-base.zendesk';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<ZendeskV1OrganizationGetAllParams>;
  output?: Items<ZendeskV1OrganizationGetAllOutput>;
};