import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { FileT, FileT$Outbound } from "./file.js";
import { TaskCommentApiModel, TaskCommentApiModel$Outbound } from "./taskcommentapimodel.js";
export type Task4 = {};
export type TaskSourceValue = Task4 | string | number | boolean | 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?: Task4 | string | number | boolean | 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 = TaskSchemas4 | string | number | boolean | 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?: TaskSchemas4 | string | number | boolean | 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>;
/** @internal */
export type Task4$Outbound = {};
/** @internal */
export declare const Task4$outboundSchema: z.ZodType<Task4$Outbound, z.ZodTypeDef, Task4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Task4$ {
    /** @deprecated use `Task4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Task4, z.ZodTypeDef, unknown>;
    /** @deprecated use `Task4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Task4$Outbound, z.ZodTypeDef, Task4>;
    /** @deprecated use `Task4$Outbound` instead. */
    type Outbound = Task4$Outbound;
}
export declare function task4ToJSON(task4: Task4): string;
export declare function task4FromJSON(jsonString: string): SafeParseResult<Task4, SDKValidationError>;
/** @internal */
export declare const TaskSourceValue$inboundSchema: z.ZodType<TaskSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TaskSourceValue$Outbound = Task4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const TaskSourceValue$outboundSchema: z.ZodType<TaskSourceValue$Outbound, z.ZodTypeDef, TaskSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskSourceValue$ {
    /** @deprecated use `TaskSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskSourceValue$Outbound, z.ZodTypeDef, TaskSourceValue>;
    /** @deprecated use `TaskSourceValue$Outbound` instead. */
    type Outbound = TaskSourceValue$Outbound;
}
export declare function taskSourceValueToJSON(taskSourceValue: TaskSourceValue): string;
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 TaskValue$outboundSchema: z.ZodType<TaskValueOpen, z.ZodTypeDef, TaskValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskValue$ {
    /** @deprecated use `TaskValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskValueOpen, z.ZodTypeDef, TaskValueOpen>;
}
/** @internal */
export declare const TaskStatus$inboundSchema: z.ZodType<TaskStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type TaskStatus$Outbound = {
    source_value?: Task4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const TaskStatus$outboundSchema: z.ZodType<TaskStatus$Outbound, z.ZodTypeDef, TaskStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskStatus$ {
    /** @deprecated use `TaskStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskStatus$Outbound, z.ZodTypeDef, TaskStatus>;
    /** @deprecated use `TaskStatus$Outbound` instead. */
    type Outbound = TaskStatus$Outbound;
}
export declare function taskStatusToJSON(taskStatus: TaskStatus): string;
export declare function taskStatusFromJSON(jsonString: string): SafeParseResult<TaskStatus, SDKValidationError>;
/** @internal */
export declare const TaskSchemas4$inboundSchema: z.ZodType<TaskSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type TaskSchemas4$Outbound = {};
/** @internal */
export declare const TaskSchemas4$outboundSchema: z.ZodType<TaskSchemas4$Outbound, z.ZodTypeDef, TaskSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskSchemas4$ {
    /** @deprecated use `TaskSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskSchemas4$Outbound, z.ZodTypeDef, TaskSchemas4>;
    /** @deprecated use `TaskSchemas4$Outbound` instead. */
    type Outbound = TaskSchemas4$Outbound;
}
export declare function taskSchemas4ToJSON(taskSchemas4: TaskSchemas4): string;
export declare function taskSchemas4FromJSON(jsonString: string): SafeParseResult<TaskSchemas4, SDKValidationError>;
/** @internal */
export declare const TaskSchemasSourceValue$inboundSchema: z.ZodType<TaskSchemasSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TaskSchemasSourceValue$Outbound = TaskSchemas4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const TaskSchemasSourceValue$outboundSchema: z.ZodType<TaskSchemasSourceValue$Outbound, z.ZodTypeDef, TaskSchemasSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskSchemasSourceValue$ {
    /** @deprecated use `TaskSchemasSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskSchemasSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskSchemasSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskSchemasSourceValue$Outbound, z.ZodTypeDef, TaskSchemasSourceValue>;
    /** @deprecated use `TaskSchemasSourceValue$Outbound` instead. */
    type Outbound = TaskSchemasSourceValue$Outbound;
}
export declare function taskSchemasSourceValueToJSON(taskSchemasSourceValue: TaskSchemasSourceValue): string;
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 TaskSchemasValue$outboundSchema: z.ZodType<TaskSchemasValueOpen, z.ZodTypeDef, TaskSchemasValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskSchemasValue$ {
    /** @deprecated use `TaskSchemasValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskSchemasValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskSchemasValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskSchemasValueOpen, z.ZodTypeDef, TaskSchemasValueOpen>;
}
/** @internal */
export declare const TaskType$inboundSchema: z.ZodType<TaskType, z.ZodTypeDef, unknown>;
/** @internal */
export type TaskType$Outbound = {
    source_value?: TaskSchemas4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const TaskType$outboundSchema: z.ZodType<TaskType$Outbound, z.ZodTypeDef, TaskType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskType$ {
    /** @deprecated use `TaskType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskType, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskType$Outbound, z.ZodTypeDef, TaskType>;
    /** @deprecated use `TaskType$Outbound` instead. */
    type Outbound = TaskType$Outbound;
}
export declare function taskTypeToJSON(taskType: TaskType): string;
export declare function taskTypeFromJSON(jsonString: string): SafeParseResult<TaskType, SDKValidationError>;
/** @internal */
export declare const Task$inboundSchema: z.ZodType<Task, z.ZodTypeDef, unknown>;
/** @internal */
export type Task$Outbound = {
    assigned_by_employee_id?: string | null | undefined;
    assigned_by_employee_name?: string | null | undefined;
    attachments?: Array<FileT$Outbound> | null | undefined;
    comments?: Array<TaskCommentApiModel$Outbound> | null | undefined;
    completion_date?: string | null | undefined;
    created_at?: string | null | undefined;
    description?: string | null | undefined;
    due_date?: string | null | undefined;
    employee_id?: string | null | undefined;
    extracted_links?: Array<string> | null | undefined;
    id?: string | null | undefined;
    link_to_task?: string | null | undefined;
    name?: string | null | undefined;
    next_task_id?: string | null | undefined;
    parent_process_name?: string | null | undefined;
    remote_id?: string | null | undefined;
    status?: TaskStatus$Outbound | null | undefined;
    type?: TaskType$Outbound | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const Task$outboundSchema: z.ZodType<Task$Outbound, z.ZodTypeDef, Task>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Task$ {
    /** @deprecated use `Task$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Task, z.ZodTypeDef, unknown>;
    /** @deprecated use `Task$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Task$Outbound, z.ZodTypeDef, Task>;
    /** @deprecated use `Task$Outbound` instead. */
    type Outbound = Task$Outbound;
}
export declare function taskToJSON(task: Task): string;
export declare function taskFromJSON(jsonString: string): SafeParseResult<Task, SDKValidationError>;
//# sourceMappingURL=task.d.ts.map