import { l } from '@atproto/lex'; 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'; declare const $nsid = "app.bsky.embed.external"; 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 }; export declare const $type = "app.bsky.embed.external"; 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 }; //# sourceMappingURL=external.defs.d.ts.map