// This file was auto-generated by Fern from our API Definition.

import type * as Intercom from "../../../../../index.js";

/**
 * A News Item is a content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers.
 */
export interface NewsItem {
    /** The type of object. */
    type?: "news-item";
    /** The unique identifier for the news item which is given by Intercom. */
    id?: string;
    /** The id of the workspace which the news item belongs to. */
    workspace_id?: string;
    /** The title of the news item. */
    title?: string;
    /** The news item body, which may contain HTML. */
    body?: string;
    /** The id of the sender of the news item. Must be a teammate on the workspace. */
    sender_id?: number;
    /** News items will not be visible to your users in the assigned newsfeeds until they are set live. */
    state?: NewsItem.State;
    /** A list of newsfeed_assignments to assign to the specified newsfeed. */
    newsfeed_assignments?: Intercom.unstable.NewsfeedAssignment[];
    /** Label names displayed to users to categorize the news item. */
    labels?: (string | undefined)[];
    /** URL of the image used as cover. Must have .jpg or .png extension. */
    cover_image_url?: string;
    /** Ordered list of emoji reactions to the news item. When empty, reactions are disabled. */
    reactions?: (string | undefined)[];
    /** When set to true, the news item will appear in the messenger newsfeed without showing a notification badge. */
    deliver_silently?: boolean;
    /** Timestamp for when the news item was created. */
    created_at?: number;
    /** Timestamp for when the news item was last updated. */
    updated_at?: number;
}

export namespace NewsItem {
    /** News items will not be visible to your users in the assigned newsfeeds until they are set live. */
    export const State = {
        Draft: "draft",
        Live: "live",
    } as const;
    export type State = (typeof State)[keyof typeof State];
}
