import * as react from 'react'; import { C as CommunityLabels } from '../labels-BoS3J1Ff.js'; export { c as communityLabels } from '../labels-BoS3J1Ff.js'; import { C as CommunityTargetKind, a as CommunityFlags, b as CommunityType, c as CommunityList, d as CommunityCreateInput, e as CommunityItem, f as CommunityPatchInput, g as CommunitySettingsPatch } from '../types-BOCLwGDj.js'; export { S as StreamCommunityFlags, V as VodCommunityFlags, h as hasQa, p as parseCommunityFlags, i as parseCommunityItem, j as parseCommunityList } from '../types-BOCLwGDj.js'; type LivoCommunityProps = { apiUrl: string; targetKind: CommunityTargetKind; targetId: string; flags: CommunityFlags; mode?: "viewer" | "control"; fetchFn?: typeof fetch; headers?: Record; displayName?: string; picture?: string | null; guestId?: string; pollMs?: number; labels?: Partial; className?: string; onFlagsChange?: (flags: CommunityFlags) => void; /** Lock to one feed (no Comments/Q&A tabs). Use for in-player drawers or a custom split layout. */ type?: CommunityType; }; declare function LivoCommunity({ apiUrl, targetKind, targetId, flags, mode, fetchFn, headers, displayName: displayNameProp, picture, guestId: guestIdProp, pollMs, labels: labelsProp, className, onFlagsChange, type: lockedType, }: LivoCommunityProps): react.JSX.Element | null; type LivoCommunityOverlayProps = Omit & { className?: string; }; declare function LivoCommunityOverlay({ className, labels: labelsProp, flags, apiUrl, targetKind, targetId, mode, fetchFn, headers, pollMs, ...rest }: LivoCommunityOverlayProps): react.JSX.Element | null; declare class CommunityApiError extends Error { readonly status: number; readonly body: unknown; constructor(status: number, message: string, body: unknown); } type CommunityClientOptions = { apiUrl: string; targetKind: CommunityTargetKind; targetId: string; mode?: "viewer" | "control"; fetchFn?: typeof fetch; headers?: Record; }; declare function createCommunityClient(options: CommunityClientOptions): { list(input?: { type?: CommunityType; q?: string; cursor?: string; }): Promise; create(input: CommunityCreateInput): Promise; patch(itemId: string, input: CommunityPatchInput): Promise; upvote(itemId: string, guestId: string): Promise; answer(itemId: string, input: { body: string; displayName: string; picture?: string | null; guestId: string; }): Promise; canAnswer(guestId: string): Promise<{ canAnswer: boolean; }>; patchSettings(input: CommunitySettingsPatch): Promise; }; type CommunityClient = ReturnType; type CommunityViewerIdentity = { displayName: string; picture: string | null; }; declare function communityGuestId(storage?: Pick): string; declare function sanitizeDisplayName(value: string | null | undefined): string; declare function sanitizePictureUrl(value: string | null | undefined): string | null; declare function loadStoredCommunityIdentity(storage?: Pick): CommunityViewerIdentity | null; declare function saveStoredCommunityIdentity(identity: CommunityViewerIdentity, storage?: Pick): CommunityViewerIdentity | null; declare function commentsOpen(flags: CommunityFlags): boolean; declare function qaOpen(flags: CommunityFlags): boolean; declare function canPost(flags: CommunityFlags, type: CommunityType): boolean; declare function showQaTab(flags: CommunityFlags): boolean; declare function communityFeedEnabled(flags: CommunityFlags, type: CommunityType): boolean; export { CommunityApiError, type CommunityClient, type CommunityClientOptions, CommunityCreateInput, CommunityFlags, CommunityItem, CommunityLabels, CommunityList, CommunityPatchInput, CommunitySettingsPatch, CommunityTargetKind, CommunityType, LivoCommunity, LivoCommunityOverlay, type LivoCommunityOverlayProps, type LivoCommunityProps, canPost, commentsOpen, communityFeedEnabled, communityGuestId, createCommunityClient, loadStoredCommunityIdentity, qaOpen, sanitizeDisplayName, sanitizePictureUrl, saveStoredCommunityIdentity, showQaTab };