export type BlueSkyWebUrlKind = '' | 'post' | 'feed' | 'lists'; export type BlueSkyHandleData = { /** * - The discriminator for a handle element. */ dataType: 'handle'; /** * - The full normalized handle, without the leading `@`. */ handle: string; /** * - The DNS labels, in order (e.g., `['alice', 'bsky', 'social']`). */ labels: string[]; /** * - The number of DNS labels. */ labelCount: number; /** * - The top-level domain (the last label). */ tld: string; /** * - The best-effort registrable domain (last two labels). */ domain: string; /** * - Everything before the registrable domain, or `null`. */ subdomain: string | null; /** * - Whether the handle ends with `bsky.social`. */ isBskyHosted: boolean; /** * - The logical inverse of `isBskyHosted`. */ isCustomDomain: boolean; }; export type BlueSkyDidData = { /** * - The discriminator for a DID element. */ dataType: 'did'; /** * - The DID method. */ method: 'plc' | 'web'; /** * - The raw, method-specific identifier. */ identifier: string; /** * - The decoded domain (only for `did:web`). */ domain: string | null; /** * - The decoded TCP port (only for `did:web`). */ port: number | null; /** * - The decoded path segments (only for `did:web`). */ pathSegments: string[]; }; export type BlueSkyAtUriData = { /** * - The discriminator for an AT URI element. */ dataType: 'at_uri'; /** * - The authority segment (a DID or a handle). */ authority: string; /** * - The kind of authority. */ authorityType: 'did' | 'handle'; /** * - The collection NSID (e.g., `app.bsky.feed.post`). */ collection: string; /** * - The NSID split by dots. */ collectionParts: string[]; /** * - The record key. */ rkey: string; }; export type BlueSkyWebUrlData = { /** * - The discriminator for a web URL element. */ dataType: 'web_url'; /** * - The resource kind, or an empty string for a profile. */ kind: BlueSkyWebUrlKind; /** * - The record key, or an empty string for a profile. */ rkey: string; /** * - The kind of actor. */ actorType: 'did' | 'handle'; /** * - The fully parsed actor. */ actor: BlueSkyHandleData | BlueSkyDidData; /** * - The equivalent AT URI, or `null` for a profile. */ atUri: BlueSkyAtUriData | null; }; export type BlueSkyHashtagData = { /** * - The discriminator for a hashtag element. */ dataType: 'hashtag'; /** * - The tag, without the leading `#`. */ tag: string; }; /** * A parser pair for BlueSky handles (`@alice.bsky.social`). */ export declare const BlueSkyHandleParser: import("../TinyUriParser.mjs").ParserPair<"handle", BlueSkyHandleData>; /** * A parser pair for BlueSky DIDs (`did:plc:...`, `did:web:...`). */ export declare const BlueSkyDidParser: import("../TinyUriParser.mjs").ParserPair<"did", BlueSkyDidData>; /** * A parser pair for BlueSky AT URIs (`at://...`). */ export declare const BlueSkyAtUriParser: import("../TinyUriParser.mjs").ParserPair<"at_uri", BlueSkyAtUriData>; /** * A parser pair for BlueSky web URLs (`https://bsky.app/...`). */ export declare const BlueSkyWebUrlParser: import("../TinyUriParser.mjs").ParserPair<"web_url", BlueSkyWebUrlData>; /** * A parser pair for BlueSky hashtags (`#javascript`). */ export declare const BlueSkyHashtagParser: import("../TinyUriParser.mjs").ParserPair<"hashtag", BlueSkyHashtagData>; /** * An array of BlueSky parser pairs, ordered from the most specific to the most permissive. */ export declare const BlueSkyProtocolParsers: readonly (import("../TinyUriParser.mjs").ParserPair<"at_uri", BlueSkyAtUriData> | import("../TinyUriParser.mjs").ParserPair<"did", BlueSkyDidData> | import("../TinyUriParser.mjs").ParserPair<"handle", BlueSkyHandleData> | import("../TinyUriParser.mjs").ParserPair<"hashtag", BlueSkyHashtagData> | import("../TinyUriParser.mjs").ParserPair<"web_url", BlueSkyWebUrlData>)[]; //# sourceMappingURL=BlueSky.d.mts.map