import { IntegrationFieldData } from "../value/integration.cjs";

//#region src/types/api/integration.d.ts
/**
 * A catalog item from an integration field.
 *
 * @typeParam TData - The data shape for the catalog item.
 * @see {@link https://prismic.io/docs/fields/integration#create-an-integration-catalog}
 */
type IntegrationAPIItem<TData extends IntegrationFieldData = IntegrationFieldData> = {
  id: string;
  title: string;
  description: string;
  image_url?: string;
  last_update?: number;
  blob: TData;
};
/**
 * Response payload from a custom integration catalog API. Contains an array of catalog items and
 * the total count.
 *
 * @typeParam TData - The shape of each catalog item's data.
 * @see {@link https://prismic.io/docs/fields/integration#create-an-integration-catalog}
 */
type IntegrationAPIResults<TData extends IntegrationFieldData = IntegrationFieldData> = {
  results_size: number;
  results: IntegrationAPIItem<TData>[];
};
//#endregion
export { IntegrationAPIItem, IntegrationAPIResults };
//# sourceMappingURL=integration.d.cts.map