import { NDKUserProfile } from '@nostr-dev-kit/ndk'; interface Comment { id: string; pubkey: string; content: string; created_at: number; replies: Comment[]; userProfile?: NDKUserProfile; replyTo?: string; depth?: number; } export default class NostrComment extends HTMLElement { private rendered; private nostrService; private shadow; private theme; private isLoading; private isError; private errorMessage; private comments; private baseUrl; private userPublicKey; private userPrivateKey; private currentUserProfile; private isSubmitting; private replyingToComment; private commentAs; private hasNip07; private anonPrivateKeyHex; private eventListeners; private nip07MonitoringInterval; private loadVersion; constructor(); getRelays: () => string[]; getTheme: () => void; getBaseUrl: () => string; private detectNip07Extension; private handleNip07StateChange; private setupNip07StateMonitoring; loadComments: () => Promise; buildCommentTree: (allComments: Comment[]) => Comment[]; initializeUser: () => Promise; submitComment: (content: string) => Promise; addReplyToComment: (newComment: Comment, parentId: string) => void; private findRootAndParent; startReply: (commentId: string) => void; cancelReply: () => void; connectedCallback(): Promise; static get observedAttributes(): string[]; attributeChangedCallback(name: string, _oldValue: string, _newValue: string): Promise; disconnectedCallback(): void; attachEventListeners(): void; attachAvatarErrorHandlers(): void; private removeEventListeners; private showError; private getDefaultAvatarUrl; private ensureAnonKey; render(): void; } export {};