UNPKG

@prismicio/client

Version:

The official JavaScript + TypeScript client library for Prismic

178 lines (177 loc) 3.93 kB
import type { AssetTag } from "./tag"; /** * Asset types. */ export declare const AssetType: { readonly All: "all"; readonly Audio: "audio"; readonly Document: "document"; readonly Image: "image"; readonly Video: "video"; }; /** * An object representing an asset returned by the Asset API. * * @see Prismic Asset API technical reference: {@link https://prismic.io/docs/asset-api-technical-reference} */ export type Asset = { /** * Asset ID. */ id: string; /** * Asset URL. */ url: string; /** * Asset creation date. */ created_at: number; /** * Asset last modification date. */ last_modified: number; /** * Asset filename. */ filename: string; /** * Asset extension. */ extension: string; /** * Asset size in bytes. */ size: number; /** * Asset kind. */ kind: Exclude<(typeof AssetType)[keyof typeof AssetType], (typeof AssetType)["All"]>; /** * Asset width in pixels. */ width?: number; /** * Asset height in pixels. */ height?: number; /** * Asset notes. */ notes?: string; /** * Asset credits. */ credits?: string; /** * Asset alt text. */ alt?: string; /** * Asset tags. */ tags?: AssetTag[]; /** * @internal */ origin_url?: string; /** * @internal */ uploader_id?: string; /** * @internal */ search_highlight?: { filename?: string[]; notes?: string[]; credits?: string[]; alt?: string[]; }; }; /** * Available query parameters when querying assets from the Asset API. * * @see Prismic Asset API technical reference: {@link https://prismic.io/docs/asset-api-technical-reference} */ export type GetAssetsParams = { /** * Number of items to return. */ pageSize?: number; /** * @internal */ cursor?: string; /** * Asset type to filter by. */ assetType?: (typeof AssetType)[keyof typeof AssetType]; /** * Search query. */ keyword?: string; /** * Asset IDs to filter by. */ ids?: string[]; /** * Asset tags to filter by. */ tags?: string[]; }; /** * An object representing the result of querying assets from the Asset API. * * @see Prismic Asset API technical reference: {@link https://prismic.io/docs/asset-api-technical-reference} */ export type GetAssetsResult = { items: Asset[]; total: number; cursor?: string; missing_ids?: string[]; is_opensearch_result: boolean; }; /** * Parameters for uploading an asset to the Asset API. * * @see Prismic Asset API technical reference: {@link https://prismic.io/docs/asset-api-technical-reference} */ export type PostAssetParams = { file: BlobPart; notes?: string; credits?: string; alt?: string; }; /** * Result of uploading an asset to the Asset API. * * @see Prismic Asset API technical reference: {@link https://prismic.io/docs/asset-api-technical-reference} */ export type PostAssetResult = Asset; /** * Parameters for updating an asset in the Asset API. * * @see Prismic Asset API technical reference: {@link https://prismic.io/docs/asset-api-technical-reference} */ export type PatchAssetParams = { notes?: string; credits?: string; alt?: string; filename?: string; tags?: string[]; }; /** * Result of updating an asset in the Asset API. * * @see Prismic Asset API technical reference: {@link https://prismic.io/docs/asset-api-technical-reference} */ export type PatchAssetResult = Asset; /** * Parameters for deleting an asset from the Asset API. * * @see Prismic Asset API technical reference: {@link https://prismic.io/docs/asset-api-technical-reference} */ export type BulkDeleteAssetsParams = { ids: string[]; };