// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.

package bsky

// schema: app.bsky.embed.video

import (
	"github.com/bluesky-social/indigo/lex/util"
)

func init() {
	util.RegisterType("app.bsky.embed.video#main", &EmbedVideo{})
} // EmbedVideo is a "main" in the app.bsky.embed.video schema.
// RECORDTYPE: EmbedVideo
type EmbedVideo struct {
	LexiconTypeID string `json:"$type,const=app.bsky.embed.video" cborgen:"$type,const=app.bsky.embed.video"`
	// alt: Alt text description of the video, for accessibility.
	Alt         *string                `json:"alt,omitempty" cborgen:"alt,omitempty"`
	AspectRatio *EmbedDefs_AspectRatio `json:"aspectRatio,omitempty" cborgen:"aspectRatio,omitempty"`
	Captions    []*EmbedVideo_Caption  `json:"captions,omitempty" cborgen:"captions,omitempty"`
	// video: The mp4 video file. May be up to 100mb, formerly limited to 50mb.
	Video *util.LexBlob `json:"video" cborgen:"video"`
}

// EmbedVideo_Caption is a "caption" in the app.bsky.embed.video schema.
type EmbedVideo_Caption struct {
	File *util.LexBlob `json:"file" cborgen:"file"`
	Lang string        `json:"lang" cborgen:"lang"`
}

// EmbedVideo_View is a "view" in the app.bsky.embed.video schema.
//
// RECORDTYPE: EmbedVideo_View
type EmbedVideo_View struct {
	LexiconTypeID string                 `json:"$type,const=app.bsky.embed.video#view" cborgen:"$type,const=app.bsky.embed.video#view"`
	Alt           *string                `json:"alt,omitempty" cborgen:"alt,omitempty"`
	AspectRatio   *EmbedDefs_AspectRatio `json:"aspectRatio,omitempty" cborgen:"aspectRatio,omitempty"`
	Cid           string                 `json:"cid" cborgen:"cid"`
	Playlist      string                 `json:"playlist" cborgen:"playlist"`
	Thumbnail     *string                `json:"thumbnail,omitempty" cborgen:"thumbnail,omitempty"`
}
