import { OptionalLinkProperties } from "./link.cjs";
import { FieldState } from "./types.cjs";

//#region src/types/value/linkToMedia.d.ts
/**
 * A link field that points to media.
 *
 * @typeParam State - State of the field which determines its shape.
 * @typeParam Variant - Variants of the link.
 */
type LinkToMediaField<State extends FieldState = FieldState, Variant = string> = State extends "empty" ? EmptyLinkToMediaField<Variant> : FilledLinkToMediaField<Variant>;
type EmptyLinkToMediaField<Variant = string> = {
  link_type: "Any";
} & OptionalLinkProperties<Variant>;
/**
 * A link that points to media.
 *
 * @typeParam Variant - Variants of the link.
 */
type FilledLinkToMediaField<Variant = string> = {
  id: string;
  link_type: "Media";
  name: string;
  kind: string;
  url: string;
  size: string;
  height?: string | null;
  width?: string | null;
} & OptionalLinkProperties<Variant>;
//#endregion
export { FilledLinkToMediaField, LinkToMediaField };
//# sourceMappingURL=linkToMedia.d.cts.map