/**
 * Google Chat Node - Version 1
 * Discriminator: resource=space, operation=getAll
 */


interface Credentials {
  googleApi: CredentialReference;
  googleChatOAuth2Api: CredentialReference;
}

/** Get many memberships in a space */
export type GoogleChatV1SpaceGetAllParams = {
  resource: 'space';
  operation: 'getAll';
  authentication?: 'oAuth2' | 'serviceAccount' | 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 GoogleChatV1SpaceGetAllOutput = {
  createTime?: string;
  customer?: string;
  displayName?: string;
  lastActiveTime?: string;
  membershipCount?: {
    joinedDirectHumanUserCount?: number;
  };
  name?: string;
  spaceHistoryState?: string;
  spaceThreadingState?: string;
  spaceType?: string;
  spaceUri?: string;
  type?: string;
};

export type GoogleChatV1SpaceGetAllNode = {
  type: 'n8n-nodes-base.googleChat';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<GoogleChatV1SpaceGetAllParams>;
  output?: Items<GoogleChatV1SpaceGetAllOutput>;
};