export interface ExternalEmbed { $type: 'app.bsky.embed.external#view'; external: { uri: string; title: string; description: string; }; } export interface ImageEmbed { $type: 'app.bsky.embed.images#view'; images: { thumb: string; fullsize: string; alt: string; }[]; } export interface Actor { displayName: string; handle: string; avatar: string; } export interface Reply { post: { uri: string; author: Actor; record: { createdAt: string; text: string; facets: { index: { byteStart: number; byteEnd: number; }; features: { uri: string; // This only applies to app.bsky.richtext.facet#link - need to expand this to handle other items }[]; }[]; }; embed?: ImageEmbed | ExternalEmbed; }; replies: Reply[]; createdAt: string; } export interface Like { actor: Actor; createdAt: string; }