export type Message = {
    name?: string;
    message: string;
    amount: number;
};
/**
 * LightningMessageboard Web Component
 *
 * A customizable web component for displaying a Lightning Network-powered messageboard
 * where users can pay to post messages.
 */
export declare class LightningMessageboard extends HTMLElement {
    private shadow;
    private messages;
    private nwcClient?;
    private messageText;
    private senderName;
    private amount;
    private topAmount;
    private messageList?;
    private toggleButton?;
    private cardContent?;
    private messageInput?;
    private messageForm?;
    private dialog?;
    private senderNameInput?;
    private amountInput?;
    private messageTextArea?;
    private topAmountButton?;
    private cancelButton?;
    private confirmButton?;
    private confirmSpinner?;
    private loadingSpinner?;
    private centeredLoadingSpinner?;
    private toastTimeout?;
    static get observedAttributes(): string[];
    constructor();
    connectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    private initializeElements;
    private setupEventListeners;
    private initializeNWC;
    private applyTheme;
    private setDialogOpen;
    private handleSubmitOpenDialog;
    private handleSubmitPayment;
    private processPayment;
    private loadMessages;
    private renderMessages;
    private setLoading;
    private setSubmitting;
}
