import { FilledImageFieldImage } from "../value/image.js"; import { LinkToMediaField } from "../value/linkToMedia.js"; import { RTImageNode } from "../value/richText.js"; import { Asset } from "../api/asset/asset.js"; import { InjectMigrationSpecificTypes } from "./Document.js"; //#region src/types/migration/Asset.d.ts /** An asset to be uploaded to Prismic media library. */ type MigrationAssetConfig = { /** * ID the assets is indexed with on the migration instance. * * @remarks * This property's value is not necessarily the same as the as the one in the `file` property. * It is mainly used for deduplication within a `Migration` instance. */ id: string | URL | File | NonNullable[0]>[0]; /** File to be uploaded as an asset. */ file: string | URL | File | NonNullable[0]>[0]; /** Filename of the asset. */ filename: string; /** Notes about the asset. Notes are private and only visible in Prismic media library. */ notes?: string; /** Credits and copyright for the asset if any. */ credits?: string; /** Alternate text for the asset. */ alt?: string; /** * Tags associated with the asset. * * @remarks * Tags should be at least 3 characters long and 20 characters at most. */ tags?: string[]; }; /** An image field in a migration. */ type MigrationImage = PrismicMigrationAsset | ({ /** A reference to the migration asset used to resolve the image field's value. */id: PrismicMigrationAsset; } & Record); /** A link to media field in a migration. */ type MigrationLinkToMedia = Pick, "link_type" | "text"> & { /** A reference to the migration asset used to resolve the link to media field's value. */id: PrismicMigrationAsset; }; /** A rich text image node in a migration. */ type MigrationRTImageNode = InjectMigrationSpecificTypes> & { /** A reference to the migration asset used to resolve the rich text image node's value. */id: PrismicMigrationAsset; }; /** A migration asset used with the Prismic Migration API. */ declare class PrismicMigrationAsset { /** Asset object from Prismic, available once created. */ asset?: Asset; /** Configuration of the asset. */ config: MigrationAssetConfig; /** The initial field value this migration field was created with. */ originalField?: FilledImageFieldImage | LinkToMediaField<"filled"> | RTImageNode; /** * Creates a migration asset used with the Prismic Migration API. * * @param config - Configuration of the asset. * @param initialField - The initial field value if any. * @returns A migration asset instance. */ constructor(config: MigrationAssetConfig, initialField?: FilledImageFieldImage | LinkToMediaField<"filled"> | RTImageNode); } //#endregion export { MigrationAssetConfig, MigrationImage, MigrationLinkToMedia, MigrationRTImageNode, PrismicMigrationAsset }; //# sourceMappingURL=Asset.d.ts.map