import { l } from "@atproto/lex-schema"; import * as RepoStrongRef from "../../../com/atproto/repo/strongRef.defs.js"; import * as LabelDefs from "../../../com/atproto/label/defs.defs.js"; import * as ActorDefs from "../actor/defs.defs.js"; import * as EmbedDefs from "./defs.defs.js"; declare const $nsid = "app.bsky.embed.external"; type $nsid = typeof $nsid; export { $nsid }; /** A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post). */ type Main = { $type?: "app.bsky.embed.external"; "external": External; }; export type { Main }; /** A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post). */ declare const main: l.TypedObjectSchema<"app.bsky.embed.external", l.Validator>; export { main }; declare const $type = "app.bsky.embed.external"; type $type = typeof $type; export { $type }; export declare const $isTypeOf: >(value: TValue) => value is l.MaybeTypedObject<"app.bsky.embed.external", TValue>; export declare const $build: { (input: Omit): { $type: "app.bsky.embed.external"; external: External; }; (input: Omit): { $type: "app.bsky.embed.external"; external: External; }; }; export declare const $assert: (input: unknown, options?: l.ValidateOptions) => asserts input is { $type?: "app.bsky.embed.external"; external: External; }; export declare const $check: (input: unknown, options?: l.ValidateOptions) => void; export declare const $cast: (input: I, options?: l.ValidateOptions) => I & { $type?: "app.bsky.embed.external"; external: External; }; export declare const $ifMatches: (input: I, options?: l.ValidateOptions) => (I & { $type?: "app.bsky.embed.external"; external: External; }) | undefined; export declare const $matches: (input: I, options?: l.ValidateOptions) => input is I & { $type?: "app.bsky.embed.external"; external: External; }; export declare const $parse: (input: unknown, options?: l.ParseOptions) => { $type?: "app.bsky.embed.external"; external: External; }; export declare const $safeParse: (input: unknown, options?: l.ParseOptions) => l.ValidationResult<{ $type?: "app.bsky.embed.external"; external: External; }>; export declare const $validate: (input: I, options?: l.ValidateOptions) => I & { $type?: "app.bsky.embed.external"; external: External; }; export declare const $safeValidate: (input: I, options?: l.ValidateOptions) => l.ValidationResult; type External = { $type?: "app.bsky.embed.external#external"; "uri": l.UriString; "title": string; "description": string; "thumb"?: l.BlobRef; /** * StrongRefs (uri+cid) of the Atmosphere records that backed this view. */ "associatedRefs"?: (RepoStrongRef.Main)[]; }; export type { External }; declare const external: l.TypedObjectSchema<"app.bsky.embed.external#external", l.Validator>; export { external }; type View = { $type?: "app.bsky.embed.external#view"; "external": ViewExternal; }; export type { View }; declare const view: l.TypedObjectSchema<"app.bsky.embed.external#view", l.Validator>; export { view }; type ViewExternal = { $type?: "app.bsky.embed.external#viewExternal"; "uri": l.UriString; "title": string; "description": string; "thumb"?: l.UriString; /** * When the external content was created, if available. Example: a publication date, for an article. */ "createdAt"?: l.DatetimeString; /** * When the external content was updated, if available. */ "updatedAt"?: l.DatetimeString; /** * Estimated reading time in minutes, if applicable and available. */ "readingTime"?: number; "labels"?: (LabelDefs.Label)[]; "source"?: ViewExternalSource; /** * StrongRefs (uri+cid) of the Atmosphere records that backed this view. */ "associatedRefs"?: (RepoStrongRef.Main)[]; /** * Profiles of the owners of the Atmosphere records that backed this view. */ "associatedProfiles"?: (ActorDefs.ProfileViewBasic)[]; }; export type { ViewExternal }; declare const viewExternal: l.TypedObjectSchema<"app.bsky.embed.external#viewExternal", l.Validator>; export { viewExternal }; /** The source of an external embed, such as a standard.site publication. */ type ViewExternalSource = { $type?: "app.bsky.embed.external#viewExternalSource"; /** * URI of the source, if available. Example: the https:// URL of a site.standard.publication record. */ "uri": l.UriString; /** * Fully-qualified URL where an icon representing the source can be fetched. For example, CDN location provided by the App View. */ "icon"?: l.UriString; "title": string; "description"?: string; "theme"?: ViewExternalSourceTheme; }; export type { ViewExternalSource }; /** The source of an external embed, such as a standard.site publication. */ declare const viewExternalSource: l.TypedObjectSchema<"app.bsky.embed.external#viewExternalSource", l.Validator>; export { viewExternalSource }; /** The theme colors of an external source, such as a site.standard.publication. These colors may be used when rendering an embed from that source. */ type ViewExternalSourceTheme = { $type?: "app.bsky.embed.external#viewExternalSourceTheme"; "backgroundRGB"?: ColorRGB; "foregroundRGB"?: ColorRGB; "accentRGB"?: ColorRGB; "accentForegroundRGB"?: ColorRGB; }; export type { ViewExternalSourceTheme }; /** The theme colors of an external source, such as a site.standard.publication. These colors may be used when rendering an embed from that source. */ declare const viewExternalSourceTheme: l.TypedObjectSchema<"app.bsky.embed.external#viewExternalSourceTheme", l.Validator>; export { viewExternalSourceTheme }; /** RGB color definition, inspired by site.standard.theme.color#rgb */ type ColorRGB = { $type?: "app.bsky.embed.external#colorRGB"; "r": number; "g": number; "b": number; }; export type { ColorRGB as ColorRgb }; /** RGB color definition, inspired by site.standard.theme.color#rgb */ declare const colorRGB: l.TypedObjectSchema<"app.bsky.embed.external#colorRGB", l.Validator>; export { colorRGB }; type ViewArticle = { $type?: "app.bsky.embed.external#viewArticle"; "uri": l.UriString; "title": string; "description": string; "createdAt"?: l.DatetimeString; "updatedAt"?: l.DatetimeString; "labels"?: (LabelDefs.Label)[]; "associatedRefs"?: (RepoStrongRef.Main)[]; "associatedProfiles"?: (ActorDefs.ProfileViewBasic)[]; "image"?: l.UriString; "publisher"?: ViewArticlePublication; "readingTime"?: number; "likeCount"?: number; /** * Available profile previews. Selected deterministically by DID; not a ranking. */ "likers"?: (ActorDefs.ProfileViewBasic)[]; }; export type { ViewArticle }; declare const viewArticle: l.TypedObjectSchema<"app.bsky.embed.external#viewArticle", l.Validator>; export { viewArticle }; type ViewArticlePublication = { $type?: "app.bsky.embed.external#viewArticlePublication"; "uri": l.UriString; "title": string; "description": string; "createdAt"?: l.DatetimeString; "updatedAt"?: l.DatetimeString; "labels"?: (LabelDefs.Label)[]; "associatedRefs"?: (RepoStrongRef.Main)[]; "associatedProfiles"?: (ActorDefs.ProfileViewBasic)[]; "logo"?: l.UriString; "image"?: l.UriString; "theme"?: ViewArticlePublicationTheme; "subscriptionCount"?: number; /** * Available profile previews. Selected deterministically by DID; not a ranking. */ "subscribers"?: (ActorDefs.ProfileViewBasic)[]; }; export type { ViewArticlePublication }; declare const viewArticlePublication: l.TypedObjectSchema<"app.bsky.embed.external#viewArticlePublication", l.Validator>; export { viewArticlePublication }; type ViewArticlePublicationTheme = { $type?: "app.bsky.embed.external#viewArticlePublicationTheme"; /** * Hex color string, if available. Example: '#ffffff'. */ "background"?: string; /** * Hex color string, if available. Example: '#ffffff'. */ "foreground"?: string; /** * Hex color string, if available. Example: '#ffffff'. */ "accent"?: string; /** * Hex color string, if available. Example: '#ffffff'. */ "accentForeground"?: string; }; export type { ViewArticlePublicationTheme }; declare const viewArticlePublicationTheme: l.TypedObjectSchema<"app.bsky.embed.external#viewArticlePublicationTheme", l.Validator>; export { viewArticlePublicationTheme }; type ViewGallery = { $type?: "app.bsky.embed.external#viewGallery"; "uri": l.UriString; "title": string; "description": string; "createdAt"?: l.DatetimeString; "updatedAt"?: l.DatetimeString; "labels"?: (LabelDefs.Label)[]; "associatedRefs"?: (RepoStrongRef.Main)[]; "associatedProfiles"?: (ActorDefs.ProfileViewBasic)[]; /** * The media items in the gallery. Each item may be of a different type, but all types must be supported by the client. */ "items": (l.$Typed | l.Unknown$TypedObject)[]; "likeCount"?: number; /** * Available profile previews. Selected deterministically by DID; not a ranking. */ "likers"?: (ActorDefs.ProfileViewBasic)[]; }; export type { ViewGallery }; declare const viewGallery: l.TypedObjectSchema<"app.bsky.embed.external#viewGallery", l.Validator>; export { viewGallery }; type ViewGalleryImage = { $type?: "app.bsky.embed.external#viewGalleryImage"; /** * Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View. */ "thumbnail": l.UriString; /** * Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View. */ "fullsize": l.UriString; /** * Alt text description of the image, for accessibility. */ "alt"?: string; "aspectRatio"?: EmbedDefs.AspectRatio; }; export type { ViewGalleryImage }; declare const viewGalleryImage: l.TypedObjectSchema<"app.bsky.embed.external#viewGalleryImage", l.Validator>; export { viewGalleryImage }; type ViewLivestream = { $type?: "app.bsky.embed.external#viewLivestream"; "uri": l.UriString; "title": string; "description": string; "createdAt"?: l.DatetimeString; "updatedAt"?: l.DatetimeString; "labels"?: (LabelDefs.Label)[]; "associatedRefs"?: (RepoStrongRef.Main)[]; "associatedProfiles"?: (ActorDefs.ProfileViewBasic)[]; "image"?: l.UriString; /** * True if the livestream is currently active at the time this view is served, false if it has ended. */ "active": boolean; "startedAt"?: l.DatetimeString; "endedAt"?: l.DatetimeString; }; export type { ViewLivestream }; declare const viewLivestream: l.TypedObjectSchema<"app.bsky.embed.external#viewLivestream", l.Validator>; export { viewLivestream }; //# sourceMappingURL=external.defs.d.ts.map