UNPKG

@ledgerhq/live-common

Version:
60 lines 1.79 kB
import type { DeviceModelId } from "@ledgerhq/devices"; export type AnnouncementDeviceModelId = Array<DeviceModelId | "no_nano">; import { DeviceModelInfo } from "@ledgerhq/types-live"; export type AnnouncementDeviceFilter = { modelIds?: AnnouncementDeviceModelId; versions?: string[]; apps?: string[]; }; export type AnnnouncementPlatformsFilter = "desktop" | "mobile" | "android" | "ios" | "mac" | "windows" | "linux"; type AnnouncementBase = { uuid: string; level?: string; icon?: string; priority?: number; contextual?: string[]; published_at: string; expired_at?: string; utm_campaign?: string; languages?: string[]; currencies?: string[]; device?: AnnouncementDeviceFilter; platforms?: AnnnouncementPlatformsFilter[]; appVersions?: string[]; liveCommonVersions?: string[]; }; export type AnnouncementContent = { title: string; text: string | null | undefined; link?: { href: string; label?: string; } | null | undefined; }; export type RawAnnouncement = AnnouncementBase & { content: Record<string, AnnouncementContent>; }; export type Announcement = AnnouncementBase & { content: AnnouncementContent; }; export type AnnouncementsUserSettings = { language: string; currencies: string[]; getDate: () => Date; lastSeenDevice?: DeviceModelInfo | null; platform?: string; appVersion?: string; }; export type AnnouncementsApi = { fetchAnnouncements: () => Promise<RawAnnouncement[]>; }; export type State = { seenIds: string[]; allIds: string[]; cache: Record<string, Announcement>; isLoading: boolean; lastUpdateTime: number | null | undefined; error: Error | null | undefined; }; export {}; //# sourceMappingURL=types.d.ts.map