import type { ManualTaskAction } from './ManualTaskAction';
import type { ManualTaskState } from './ManualTaskState';
/**
 * A manual task requires the manual intervention of a human.
 * @export
 * @interface ManualTask
 */
export interface ManualTask {
    /**
     * The ID of the space this object belongs to.
     * @type {number}
     * @memberof ManualTask
     */
    readonly linkedSpaceId?: number;
    /**
     * The ID of the entity the manual task is linked to.
     * @type {number}
     * @memberof ManualTask
     */
    readonly contextEntityId?: number;
    /**
     * The date and time when the object is planned to be permanently removed. If the value is empty, the object will not be removed.
     * @type {Date}
     * @memberof ManualTask
     */
    readonly plannedPurgeDate?: Date;
    /**
     * The date and time until when the manual task has to be handled.
     * @type {Date}
     * @memberof ManualTask
     */
    readonly expiresOn?: Date;
    /**
     * A unique identifier for the object.
     * @type {number}
     * @memberof ManualTask
     */
    readonly id?: number;
    /**
     *
     * @type {ManualTaskState}
     * @memberof ManualTask
     */
    state?: ManualTaskState;
    /**
     * The manual task's type.
     * @type {number}
     * @memberof ManualTask
     */
    readonly type?: number;
    /**
     * The actions that can be triggered to handle the manual task.
     * @type {Array<ManualTaskAction>}
     * @memberof ManualTask
     */
    readonly actions?: Array<ManualTaskAction>;
    /**
     * The date and time when the object was created.
     * @type {Date}
     * @memberof ManualTask
     */
    readonly createdOn?: Date;
}
/**
 * Check if a given object implements the ManualTask interface.
 */
export declare function instanceOfManualTask(value: object): value is ManualTask;
export declare function ManualTaskFromJSON(json: any): ManualTask;
export declare function ManualTaskFromJSONTyped(json: any, ignoreDiscriminator: boolean): ManualTask;
export declare function ManualTaskToJSON(json: any): ManualTask;
export declare function ManualTaskToJSONTyped(value?: Omit<ManualTask, 'linkedSpaceId' | 'contextEntityId' | 'plannedPurgeDate' | 'expiresOn' | 'id' | 'type' | 'actions' | 'createdOn'> | null, ignoreDiscriminator?: boolean): any;
