import { StreamRole } from "applesauce-core/helpers/stream";
import { ProfilePointer } from "nostr-tools/nip19";
import { EventOperation } from "../types.js";
/** Sets the title of a live event */
export declare function setTitle(title: string): EventOperation;
/** Sets the summary/description of a live event */
export declare function setSummary(summary: string): EventOperation;
/** Sets the preview image for a live event */
export declare function setImage(image: string): EventOperation;
/** Sets the streaming URL for a live event */
export declare function setStreamingUrl(url: string | URL): EventOperation;
/** Sets the recording URL for a live event (typically after the event ends) */
export declare function setRecordingUrl(url: string | URL): EventOperation;
/** Sets the start timestamp for a live event */
export declare function setStartTime(start: number | Date): EventOperation;
/** Sets the end timestamp for a live event */
export declare function setEndTime(end: number | Date): EventOperation;
/** Sets the status of a live event */
export declare function setStatus(status: "planned" | "live" | "ended"): EventOperation;
/** Sets the current number of participants */
export declare function setCurrentViewers(count: number): EventOperation;
/** Sets the total number of participants */
export declare function setMaxViewers(count: number): EventOperation;
/** Sets the host of the stream */
export declare function setHost(user: ProfilePointer): EventOperation;
/** Adds a participant to a live event with role and optional relay */
export declare function addParticipant(user: ProfilePointer, role: StreamRole): EventOperation;
/** Removes a participant from a live event */
export declare function removeParticipant(pubkey: string): EventOperation;
/** Adds a relay to the live event's relay list */
export declare function addRelay(relay: string | URL): EventOperation;
/** Removes a relay from the live event's relay list */
export declare function removeRelay(relay: string | URL): EventOperation;
/** Sets a pinned live chat message */
export declare function setPinnedMessage(eventId: string): EventOperation;
/** Removes the pinned live chat message */
export declare function removePinnedMessage(): EventOperation;
/** Adds a hashtag to the live event */
export declare function addHashtag(hashtag: string): EventOperation;
/** Removes a hashtag from the live event */
export declare function removeHashtag(hashtag: string): EventOperation;
