import * as z from "zod/v3"; import { OpenEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { Document } from "./document.js"; import { FacetFilter } from "./facetfilter.js"; import { ObjectPermissions } from "./objectpermissions.js"; import { Person } from "./person.js"; import { StructuredText } from "./structuredtext.js"; import { Thumbnail } from "./thumbnail.js"; /** * This determines whether this is a Social Feed post or a regular announcement. */ export declare const AnnouncementChannel: { readonly Main: "MAIN"; readonly SocialFeed: "SOCIAL_FEED"; }; /** * This determines whether this is a Social Feed post or a regular announcement. */ export type AnnouncementChannel = OpenEnum; /** * This determines whether this is an external-link post or a regular announcement post. TEXT - Regular announcement that can contain rich text. LINK - Announcement that is linked to an external site. */ export declare const AnnouncementPostType: { readonly Text: "TEXT"; readonly Link: "LINK"; }; /** * This determines whether this is an external-link post or a regular announcement post. TEXT - Regular announcement that can contain rich text. LINK - Announcement that is linked to an external site. */ export type AnnouncementPostType = OpenEnum; export type AnnouncementViewerInfo = { /** * Whether the viewer has dismissed the announcement. */ isDismissed?: boolean | undefined; /** * Whether the viewer has read the announcement. */ isRead?: boolean | undefined; }; export type Announcement = { /** * The date and time at which the announcement becomes active. */ startTime?: Date | undefined; /** * The date and time at which the announcement expires. */ endTime?: Date | undefined; /** * The headline of the announcement. */ title?: string | undefined; body?: StructuredText | undefined; /** * An emoji used to indicate the nature of the announcement. */ emoji?: string | undefined; thumbnail?: Thumbnail | undefined; banner?: Thumbnail | undefined; /** * Filters which restrict who should see the announcement. Values are taken from the corresponding filters in people search. */ audienceFilters?: Array | undefined; /** * The Glean Document ID of the source document this Announcement was created from (e.g. Slack thread). */ sourceDocumentId?: string | undefined; /** * Whether or not to hide an author attribution. */ hideAttribution?: boolean | undefined; /** * This determines whether this is a Social Feed post or a regular announcement. */ channel?: AnnouncementChannel | undefined; /** * This determines whether this is an external-link post or a regular announcement post. TEXT - Regular announcement that can contain rich text. LINK - Announcement that is linked to an external site. */ postType?: AnnouncementPostType | undefined; /** * Used by the Social Feed to pin posts to the front of the feed. */ isPrioritized?: boolean | undefined; /** * URL for viewing the announcement. It will be set to document URL for announcements from other datasources e.g. simpplr. Can only be written when channel="SOCIAL_FEED". */ viewUrl?: string | undefined; /** * The opaque id of the associated draft. */ draftId?: number | undefined; permissions?: ObjectPermissions | undefined; /** * The opaque id of the announcement. */ id?: number | undefined; author?: Person | undefined; /** * Server Unix timestamp of the creation time (in seconds since epoch UTC). */ createTimestamp?: number | undefined; /** * Server Unix timestamp of the last update time (in seconds since epoch UTC). */ lastUpdateTimestamp?: number | undefined; updatedBy?: Person | undefined; viewerInfo?: AnnouncementViewerInfo | undefined; sourceDocument?: Document | undefined; /** * Whether or not the announcement is published. */ isPublished?: boolean | undefined; }; /** @internal */ export declare const AnnouncementChannel$inboundSchema: z.ZodType; /** @internal */ export declare const AnnouncementPostType$inboundSchema: z.ZodType; /** @internal */ export declare const AnnouncementViewerInfo$inboundSchema: z.ZodType; export declare function announcementViewerInfoFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const Announcement$inboundSchema: z.ZodType; export declare function announcementFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=announcement.d.ts.map