/** * URL生成ユーティリティ関数 */ import { nip19 } from 'nostr-tools'; import * as Nostr from 'nostr-typedef'; /** * URLテンプレート内のプレースホルダーを実際の値に置換する * @param template URLテンプレート(例: "https://example.com/user/{id}") * @param replacements 置換する値のオブジェクト(例: {id: "npub1234..."}) * @returns 置換後のURL */ export declare function replaceUrlPlaceholders(template: string, replacements: Record): string; /** * 動的URLを生成する(単一のIDプレースホルダー用の便利関数) * @param template URLテンプレート(例: "https://example.com/user/{id}") * @param id 置換するID * @returns 置換後のURL */ export declare function generateDynamicUrl(template: string, id: string): string; /** * hrefまたはデフォルトURLを生成する * @param href ユーザー指定のhref(nullの場合はデフォルトURL生成) * @param id NostrID * @param defaultUrlTemplate デフォルトのURLテンプレート * @returns 最終的なURL */ export declare function resolveUrl(href: string | null, id: string | undefined, defaultUrlTemplate?: string): string | undefined; /** * URLテンプレートに含まれるプレースホルダーを検出する * @param template URLテンプレート * @returns プレースホルダーの配列 */ export declare function extractPlaceholders(template: string): string[]; /** * URLテンプレートが有効かチェックする * @param template URLテンプレート * @param requiredPlaceholders 必須のプレースホルダー * @returns 有効性チェック結果 */ export declare function validateUrlTemplate(template: string, requiredPlaceholders?: string[]): boolean; export declare const encodeNpub: (hex: string) => string | undefined; export declare function encodeEventToNevent(note: Nostr.Event): string | undefined; export declare function encodeToNevent(props: nip19.EventPointer): string | undefined; /** * `a`タグから `naddr` をエンコード * @param aTagValue フォーマット: `::` * @returns naddr文字列 (例: naddr1...) */ export declare function encodeNaddr(aTagValue: string): string; export declare const createTruncatedNpub: (npub: string | undefined) => string;