import type { RegistryScriptInput } from '#nuxt-scripts/types'; import { BlueskyEmbedOptions } from './schemas.js'; export { BlueskyEmbedOptions }; export interface BlueskyEmbedPostData { uri: string; cid: string; author: { did: string; handle: string; displayName: string; avatar: string; labels: Array<{ val: string; }>; verification?: { verifiedStatus: string; }; }; record: { $type: string; createdAt: string; text: string; langs?: string[]; facets?: Array<{ features: Array<{ $type: string; uri?: string; did?: string; tag?: string; }>; index: { byteStart: number; byteEnd: number; }; }>; embed?: { $type: string; images?: Array<{ alt: string; image: { ref: { $link: string; }; mimeType: string; size: number; }; aspectRatio?: { width: number; height: number; }; }>; external?: { uri: string; title: string; description: string; thumb?: { ref: { $link: string; }; mimeType: string; size: number; }; }; }; }; embed?: { $type: string; images?: Array<{ thumb: string; fullsize: string; alt: string; aspectRatio?: { width: number; height: number; }; }>; external?: { uri: string; title: string; description: string; thumb?: string; }; }; likeCount: number; repostCount: number; replyCount: number; quoteCount: number; indexedAt: string; labels: Array<{ val: string; }>; } export type BlueskyEmbedInput = RegistryScriptInput; /** * Extract the handle/DID and post rkey from a Bluesky post URL */ export declare function extractBlueskyPostId(url: string): { actor: string; rkey: string; } | undefined; /** * Format a Bluesky post date for display */ export declare function formatBlueskyDate(dateString: string): string; /** * Format a number for display (e.g., 1234 -> 1.2K) */ export declare function formatCount(count: number): string; /** * Convert Bluesky facets (byte-range rich text annotations) to HTML */ export declare function facetsToHtml(text: string, facets?: BlueskyEmbedPostData['record']['facets']): string;