import { Observable } from "rxjs"; import { NostrEvent } from "../helpers/event.js"; import { AddressPointer, EventPointer } from "../helpers/pointers.js"; import { ChainableObservable } from "../observable/chainable.js"; import { CastRefEventStore } from "./cast.js"; import { User } from "./user.js"; /** The base class for all casts */ export declare class EventCast { #private; readonly event: T; readonly store: CastRefEventStore; /** Alias for event.id */ get id(): string; /** Alias for event.kind */ get kind(): number; /** Returns the unique identifier for this event */ get uid(): string; /** Returns the created_at timestamp as a Date object */ get createdAt(): Date; /** Get the {@link User} that authored this event */ get author(): User; /** Return the set of relays this event was seen on */ get seen(): Set | undefined; /** Returns the NIP-01 address string for this event if its replaceable or addressable, otherwise returns null */ get coordinate(): string | null; /** Alias for {@link coordinate} */ get replaceableAddress(): string | null; /** Returns a single {@link EventPointer} or {@link AddressPointer} for this event */ get pointer(): EventPointer | AddressPointer; constructor(event: T, store: CastRefEventStore); /** Internal method for creating a reference */ protected $$ref(key: string, builder: (store: CastRefEventStore) => Observable): ChainableObservable; }