import type { ContentRelationshipField, EmptyContentRelationshipField, FilledContentRelationshipField } from "../value/contentRelationship";
import type { PrismicDocument } from "../value/document";
import type { PrismicMigrationDocument } from "./Document";
type ValueOrThunk<T> = T | (() => Promise<T> | T);
/**
 * A content relationship field in a migration.
 */
export type MigrationContentRelationship<TDocuments extends PrismicDocument = PrismicDocument> = ValueOrThunk<TDocuments | PrismicMigrationDocument<TDocuments> | undefined> | (Pick<ContentRelationshipField, "link_type"> & {
    id: ValueOrThunk<TDocuments | PrismicMigrationDocument<TDocuments> | undefined>;
});
/**
 * The minimum amount of information needed to represent a content relationship
 * field with the migration API.
 */
export type MigrationContentRelationshipField = Pick<FilledContentRelationshipField, "link_type" | "id"> | EmptyContentRelationshipField;
export {};
