import { Requirable, Strict } from "../../../common/types.mjs"; //#region src/namespaces/media/common/types.d.ts export declare namespace MediaNs { type Rating = Strict<{ value: Requirable; scheme?: string; }, TStrict>; type TitleOrDescription = Strict<{ value: Requirable; type?: string; }, TStrict>; type Thumbnail = Strict<{ url: Requirable; height?: number; width?: number; time?: string; }, TStrict>; type Category = Strict<{ name: Requirable; scheme?: string; label?: string; }, TStrict>; type Hash = Strict<{ value: Requirable; algo?: string; }, TStrict>; type Player = Strict<{ url: Requirable; height?: number; width?: number; }, TStrict>; type Credit = Strict<{ value: Requirable; role?: string; scheme?: string; }, TStrict>; type Copyright = Strict<{ value: Requirable; url?: string; }, TStrict>; type Text = Strict<{ value: Requirable; type?: string; lang?: string; start?: string; end?: string; }, TStrict>; type Restriction = Strict<{ value: Requirable; relationship: Requirable; type?: string; }, TStrict>; type Community = { starRating?: StarRating; statistics?: Statistics; tags?: Array>; }; type StarRating = { average?: number; count?: number; min?: number; max?: number; }; type Statistics = { views?: number; favorites?: number; }; type Tag = Strict<{ name: Requirable; weight?: number; }, TStrict>; type Embed = Strict<{ url: Requirable; width?: number; height?: number; params?: Array>; }, TStrict>; type Param = Strict<{ name: Requirable; value: Requirable; }, TStrict>; type Status = Strict<{ state: Requirable; reason?: string; }, TStrict>; type Price = { type?: string; info?: string; price?: number; currency?: string; }; type License = { name?: string; type?: string; href?: string; } & (TStrict extends true ? { name: string; } | { href: string; } : unknown); type SubTitle = Strict<{ type?: string; lang?: string; href: Requirable; }, TStrict>; type PeerLink = Strict<{ type?: string; href: Requirable; }, TStrict>; type Rights = { status?: string; }; type Scene = { title?: string; description?: string; startTime?: string; endTime?: string; }; type Location = { description?: string; start?: string; end?: string; lat?: number; lng?: number; }; /** @internal Shared elements available across Content, Group, ItemOrFeed types. */ type CommonElements = { ratings?: Array>; title?: TitleOrDescription; description?: TitleOrDescription; keywords?: Array; thumbnails?: Array>; categories?: Array>; hashes?: Array>; player?: Player; credits?: Array>; copyright?: Copyright; texts?: Array>; restrictions?: Array>; community?: Community; comments?: Array; embed?: Embed; responses?: Array; backLinks?: Array; status?: Status; prices?: Array; licenses?: Array>; subTitles?: Array>; peerLinks?: Array>; locations?: Array; rights?: Rights; scenes?: Array; }; type Content = { url?: string; fileSize?: number; type?: string; medium?: string; isDefault?: boolean; expression?: string; bitrate?: number; framerate?: number; samplingrate?: number; channels?: number; duration?: number; height?: number; width?: number; lang?: string; } & CommonElements; type Group = { contents?: Array>; } & CommonElements; type ItemOrFeed = { groups?: Array>; contents?: Array>; } & CommonElements; } //#endregion