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 { RawResponse } from "./rawresponse.js";
import { TaskCommentApiModel } from "./taskcommentapimodel.js";
export type TaskResult4 = {};
export type TaskResultSourceValue = string | number | boolean | TaskResult4 | 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 TaskResultValue {
    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 TaskResultValueOpen = OpenEnum<typeof TaskResultValue>;
/**
 * The status of the task
 */
export type TaskResultStatus = {
    sourceValue?: string | number | boolean | TaskResult4 | 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?: TaskResultValueOpen | null | undefined;
};
export type TaskResultSchemas4 = {};
export type TaskResultSchemasSourceValue = string | number | boolean | TaskResultSchemas4 | 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 TaskResultSchemasValue {
    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 TaskResultSchemasValueOpen = OpenEnum<typeof TaskResultSchemasValue>;
/**
 * The type of the task
 */
export type TaskResultType = {
    sourceValue?: string | number | boolean | TaskResultSchemas4 | 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?: TaskResultSchemasValueOpen | null | undefined;
};
export type TaskResultData = {
    /**
     * 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?: TaskResultStatus | null | undefined;
    /**
     * The type of the task
     */
    type?: TaskResultType | null | undefined;
    /**
     * The last updated date of this task
     */
    updatedAt?: Date | null | undefined;
};
export type TaskResult = {
    data?: TaskResultData | null | undefined;
    raw?: Array<RawResponse> | null | undefined;
};
/** @internal */
export declare const TaskResult4$inboundSchema: z.ZodType<TaskResult4, z.ZodTypeDef, unknown>;
export declare function taskResult4FromJSON(jsonString: string): SafeParseResult<TaskResult4, SDKValidationError>;
/** @internal */
export declare const TaskResultSourceValue$inboundSchema: z.ZodType<TaskResultSourceValue, z.ZodTypeDef, unknown>;
export declare function taskResultSourceValueFromJSON(jsonString: string): SafeParseResult<TaskResultSourceValue, SDKValidationError>;
/** @internal */
export declare const TaskResultValue$inboundSchema: z.ZodType<TaskResultValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TaskResultStatus$inboundSchema: z.ZodType<TaskResultStatus, z.ZodTypeDef, unknown>;
export declare function taskResultStatusFromJSON(jsonString: string): SafeParseResult<TaskResultStatus, SDKValidationError>;
/** @internal */
export declare const TaskResultSchemas4$inboundSchema: z.ZodType<TaskResultSchemas4, z.ZodTypeDef, unknown>;
export declare function taskResultSchemas4FromJSON(jsonString: string): SafeParseResult<TaskResultSchemas4, SDKValidationError>;
/** @internal */
export declare const TaskResultSchemasSourceValue$inboundSchema: z.ZodType<TaskResultSchemasSourceValue, z.ZodTypeDef, unknown>;
export declare function taskResultSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<TaskResultSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const TaskResultSchemasValue$inboundSchema: z.ZodType<TaskResultSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TaskResultType$inboundSchema: z.ZodType<TaskResultType, z.ZodTypeDef, unknown>;
export declare function taskResultTypeFromJSON(jsonString: string): SafeParseResult<TaskResultType, SDKValidationError>;
/** @internal */
export declare const TaskResultData$inboundSchema: z.ZodType<TaskResultData, z.ZodTypeDef, unknown>;
export declare function taskResultDataFromJSON(jsonString: string): SafeParseResult<TaskResultData, SDKValidationError>;
/** @internal */
export declare const TaskResult$inboundSchema: z.ZodType<TaskResult, z.ZodTypeDef, unknown>;
export declare function taskResultFromJSON(jsonString: string): SafeParseResult<TaskResult, SDKValidationError>;
//# sourceMappingURL=taskresult.d.ts.map