import { IAction } from "./IAction";
import { IPerformedAction } from "./IPerformedAction";
import { Meta } from "./Meta";
/**
 * @description Interface to define what structure the Finsemble notification service is able to process
 *
 */
export declare type INotification = {
    /**
     * Either set when notification is created to refer to id an external system or if null set to UUID.
     */
    id?: string;
    /**
     * ISO8601 date formatted string.
     * When the notification was generated.
     */
    issuedAt: string;
    /**
     * Private: ISO8601 date formatted string.
     * When the notification was received by Finsemble
     */
    receivedAt?: string;
    /**
     * The type of notification.
     */
    type?: string;
    /**
     * The source that the notification originated from
     */
    source?: string;
    /**
     * Main display title
     */
    title: string;
    /**
     * Details about the notification mainly for display purposes.
     */
    details?: string;
    /**
     * An informational header additional to the title usually referencing the source.
     * Deprecated: Not used since 5.3 and expected to be removed in version 6.0
     * @deprecated - Not used in 5.3 and expected to be removed in version 6.0
     */
    headerText?: string;
    /**
     * Logo displayed in header section of a notification. HTML source data URI or URL. Defaults set by type in configuration.
     */
    headerLogo?: string;
    /**
     * Logo to display in content section of a notification.HTML source data URI or URL. Defaults set by
     * type in configuration.
     */
    contentLogo?: string;
    /**
     * List of actions which can be performed on a notification.
     */
    actions?: IAction[];
    /**
     * How long should the notification appear in the UIs.
     */
    timeout?: number;
    /**
     * Allows a css class to be applied to a notification to change it's appearance.
     */
    cssClassName?: string;
    notificationAlertSound?: string;
    /**
     * Additional metadata to be passed along with a notification. Supports arbitrary metadata fields. For example, a
     * team may decide to include a Source or Channel field in all notifications to support filtering operations, or a
     * Quote or Customer ID field to support grouping of notifications generated by different systems but relating to
     * the same entity (for example for filtering/drill down in the Notification Center).
     */
    meta?: Meta;
    /**
     * Private: If an notification has been marked as read.
     */
    isRead: boolean;
    /**
     * Private: If a Notification has been muted after being received
     */
    isMuted: boolean;
    /**
     * Private: Indicating a notification is currently snoozed
     */
    isSnoozed: boolean;
    /**
     * Private: Indicating a notification has been deleted
     */
    isDeleted: boolean;
    /**
     * list of actions which have been performed on a notification.
     */
    actionsHistory?: IPerformedAction[];
    stateHistory: INotification[];
    /**
     * A flag to determine whether the notification is to be displayed only if Finsemble is running in dev mode.
     */
    devModeOnly?: boolean;
};
//# sourceMappingURL=INotification.d.ts.map