// API service interfaces export interface AnnouncementsApi { getAnnouncements( cursor?: number, count?: number, tag?: string ): Promise; getLatestAnnouncement(tag?: string): Promise; getLatestAnnouncementIds(tag?: string): Promise; getAnnouncement(id: number): Promise; createAnnouncement(announcement: ApiAnnouncement, token: string): Promise; updateAnnouncement(id: number, announcement: ApiAnnouncement, token: string): Promise; deleteAnnouncement(id: number, token: string): Promise; getAnnouncementTags(): Promise; } export interface PatchesApi { getCurrentRelease(prerelease?: boolean): Promise; getCurrentReleaseVersion(prerelease?: boolean): Promise; getPatchesList(prerelease?: boolean): Promise; getPublicKeys(): Promise; } export interface ManagerApi { getCurrentRelease(prerelease?: boolean): Promise; getCurrentReleaseVersion(prerelease?: boolean): Promise; } export interface GeneralApi { getToken(authDigest: string): Promise; getContributors(): Promise; getTeamMembers(): Promise; getAbout(): Promise; ping(): Promise; getRateLimit(): Promise; } // unified API interface export interface RevancedApi { announcements: AnnouncementsApi; patches: PatchesApi; manager: ManagerApi; general: GeneralApi; }