/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Settings } from './Settings';
/**
 * Signed token supporting one-click email suppression.
 * @export
 * @interface NotificationSettingsSignedToken
 */
export interface NotificationSettingsSignedToken {
    /**
     *
     * @type {string}
     * @memberof NotificationSettingsSignedToken
     */
    concreteType: NotificationSettingsSignedTokenConcreteTypeEnum;
    /**
     * The hash message authentication code for the message.
     * @type {string}
     * @memberof NotificationSettingsSignedToken
     */
    hmac?: string;
    /**
     * The version of the key used to generate the HMAC.
     * @type {number}
     * @memberof NotificationSettingsSignedToken
     */
    version?: number;
    /**
     * The date-time when this token expires.
     * @type {string}
     * @memberof NotificationSettingsSignedToken
     */
    expiresOn?: string;
    /**
     * The date-time the token was generated.
     * @type {string}
     * @memberof NotificationSettingsSignedToken
     */
    createdOn?: string;
    /**
     * The ID of the user wishing to suppress email notifications.  The HMAC in the token authenticates that the request is being made by this user.
     * @type {string}
     * @memberof NotificationSettingsSignedToken
     */
    userId?: string;
    /**
     *
     * @type {Settings}
     * @memberof NotificationSettingsSignedToken
     */
    settings?: Settings;
}
/**
 * @export
 */
export declare const NotificationSettingsSignedTokenConcreteTypeEnum: {
    readonly org_sagebionetworks_repo_model_message_NotificationSettingsSignedToken: "org.sagebionetworks.repo.model.message.NotificationSettingsSignedToken";
};
export type NotificationSettingsSignedTokenConcreteTypeEnum = typeof NotificationSettingsSignedTokenConcreteTypeEnum[keyof typeof NotificationSettingsSignedTokenConcreteTypeEnum];
/**
 * Check if a given object implements the NotificationSettingsSignedToken interface.
 */
export declare function instanceOfNotificationSettingsSignedToken(value: object): value is NotificationSettingsSignedToken;
export declare function NotificationSettingsSignedTokenFromJSON(json: any): NotificationSettingsSignedToken;
export declare function NotificationSettingsSignedTokenFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotificationSettingsSignedToken;
export declare function NotificationSettingsSignedTokenToJSON(json: any): NotificationSettingsSignedToken;
export declare function NotificationSettingsSignedTokenToJSONTyped(value?: NotificationSettingsSignedToken | null, ignoreDiscriminator?: boolean): any;
