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 { FileT } from "./file.js";
import { TaskCommentApiModel } from "./taskcommentapimodel.js";
export type Task4 = {};
export type TaskSourceValue = string | number | boolean | Task4 | Array<any>;
/**
 * The unified value for the status of the task. If the provider does not specify this status, the value will be set to UnmappedValue
 */
export declare enum TaskValue {
    Open = "open",
    InProgress = "in_progress",
    Blocked = "blocked",
    Completed = "completed",
    Cancelled = "cancelled",
    UnmappedValue = "unmapped_value"
}
/**
 * The unified value for the status of the task. If the provider does not specify this status, the value will be set to UnmappedValue
 */
export type TaskValueOpen = OpenEnum<typeof TaskValue>;
/**
 * The status of the task
 */
export type TaskStatus = {
    sourceValue?: string | number | boolean | Task4 | Array<any> | null | undefined;
    /**
     * The unified value for the status of the task. If the provider does not specify this status, the value will be set to UnmappedValue
     */
    value?: TaskValueOpen | null | undefined;
};
export type TaskSchemas4 = {};
export type TaskSchemasSourceValue = string | number | boolean | TaskSchemas4 | Array<any>;
/**
 * The unified value for the type of the task. If the provider does not specify this type, the value will be set to UnmappedValue
 */
export declare enum TaskSchemasValue {
    Action = "action",
    Review = "review",
    Acknowledgment = "acknowledgment",
    Edit = "edit",
    Approve = "approve",
    UnmappedValue = "unmapped_value"
}
/**
 * The unified value for the type of the task. If the provider does not specify this type, the value will be set to UnmappedValue
 */
export type TaskSchemasValueOpen = OpenEnum<typeof TaskSchemasValue>;
/**
 * The type of the task
 */
export type TaskType = {
    sourceValue?: string | number | boolean | TaskSchemas4 | Array<any> | null | undefined;
    /**
     * The unified value for the type of the task. If the provider does not specify this type, the value will be set to UnmappedValue
     */
    value?: TaskSchemasValueOpen | null | undefined;
};
export type Task = {
    /**
     * The ID of the employee who assigned this task
     */
    assignedByEmployeeId?: string | null | undefined;
    /**
     * The name of the employee who assigned this task
     */
    assignedByEmployeeName?: string | null | undefined;
    /**
     * The documents attached to this task
     */
    attachments?: Array<FileT> | null | undefined;
    /**
     * The comments associated with this task
     */
    comments?: Array<TaskCommentApiModel> | null | undefined;
    /**
     * The completion date of the task
     */
    completionDate?: Date | null | undefined;
    /**
     * The creation date of this task
     */
    createdAt?: Date | null | undefined;
    /**
     * The description of the task
     */
    description?: string | null | undefined;
    /**
     * The due date of the task
     */
    dueDate?: Date | null | undefined;
    /**
     * The employee ID associated with this task
     */
    employeeId?: string | null | undefined;
    /**
     * List of extracted links from the task
     */
    extractedLinks?: Array<string> | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Link to the task in the provider system
     */
    linkToTask?: string | null | undefined;
    /**
     * The name of the task
     */
    name?: string | null | undefined;
    /**
     * ID of the next task in sequence
     */
    nextTaskId?: string | null | undefined;
    /**
     * Name of the parent process of this task
     */
    parentProcessName?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The status of the task
     */
    status?: TaskStatus | null | undefined;
    /**
     * The type of the task
     */
    type?: TaskType | null | undefined;
    /**
     * The last updated date of this task
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const Task4$inboundSchema: z.ZodType<Task4, z.ZodTypeDef, unknown>;
export declare function task4FromJSON(jsonString: string): SafeParseResult<Task4, SDKValidationError>;
/** @internal */
export declare const TaskSourceValue$inboundSchema: z.ZodType<TaskSourceValue, z.ZodTypeDef, unknown>;
export declare function taskSourceValueFromJSON(jsonString: string): SafeParseResult<TaskSourceValue, SDKValidationError>;
/** @internal */
export declare const TaskValue$inboundSchema: z.ZodType<TaskValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TaskStatus$inboundSchema: z.ZodType<TaskStatus, z.ZodTypeDef, unknown>;
export declare function taskStatusFromJSON(jsonString: string): SafeParseResult<TaskStatus, SDKValidationError>;
/** @internal */
export declare const TaskSchemas4$inboundSchema: z.ZodType<TaskSchemas4, z.ZodTypeDef, unknown>;
export declare function taskSchemas4FromJSON(jsonString: string): SafeParseResult<TaskSchemas4, SDKValidationError>;
/** @internal */
export declare const TaskSchemasSourceValue$inboundSchema: z.ZodType<TaskSchemasSourceValue, z.ZodTypeDef, unknown>;
export declare function taskSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<TaskSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const TaskSchemasValue$inboundSchema: z.ZodType<TaskSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TaskType$inboundSchema: z.ZodType<TaskType, z.ZodTypeDef, unknown>;
export declare function taskTypeFromJSON(jsonString: string): SafeParseResult<TaskType, SDKValidationError>;
/** @internal */
export declare const Task$inboundSchema: z.ZodType<Task, z.ZodTypeDef, unknown>;
export declare function taskFromJSON(jsonString: string): SafeParseResult<Task, SDKValidationError>;
//# sourceMappingURL=task.d.ts.map