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, FileT$Outbound } from "./file.js";
import { RawResponse, RawResponse$Outbound } from "./rawresponse.js";
import { TaskCommentApiModel, TaskCommentApiModel$Outbound } 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>;
/** @internal */
export type TaskResult4$Outbound = {};
/** @internal */
export declare const TaskResult4$outboundSchema: z.ZodType<TaskResult4$Outbound, z.ZodTypeDef, TaskResult4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskResult4$ {
    /** @deprecated use `TaskResult4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskResult4, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskResult4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskResult4$Outbound, z.ZodTypeDef, TaskResult4>;
    /** @deprecated use `TaskResult4$Outbound` instead. */
    type Outbound = TaskResult4$Outbound;
}
export declare function taskResult4ToJSON(taskResult4: TaskResult4): string;
export declare function taskResult4FromJSON(jsonString: string): SafeParseResult<TaskResult4, SDKValidationError>;
/** @internal */
export declare const TaskResultSourceValue$inboundSchema: z.ZodType<TaskResultSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TaskResultSourceValue$Outbound = string | number | boolean | TaskResult4$Outbound | Array<any>;
/** @internal */
export declare const TaskResultSourceValue$outboundSchema: z.ZodType<TaskResultSourceValue$Outbound, z.ZodTypeDef, TaskResultSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskResultSourceValue$ {
    /** @deprecated use `TaskResultSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskResultSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskResultSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskResultSourceValue$Outbound, z.ZodTypeDef, TaskResultSourceValue>;
    /** @deprecated use `TaskResultSourceValue$Outbound` instead. */
    type Outbound = TaskResultSourceValue$Outbound;
}
export declare function taskResultSourceValueToJSON(taskResultSourceValue: TaskResultSourceValue): string;
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 TaskResultValue$outboundSchema: z.ZodType<TaskResultValueOpen, z.ZodTypeDef, TaskResultValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskResultValue$ {
    /** @deprecated use `TaskResultValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskResultValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskResultValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskResultValueOpen, z.ZodTypeDef, TaskResultValueOpen>;
}
/** @internal */
export declare const TaskResultStatus$inboundSchema: z.ZodType<TaskResultStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type TaskResultStatus$Outbound = {
    source_value?: string | number | boolean | TaskResult4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const TaskResultStatus$outboundSchema: z.ZodType<TaskResultStatus$Outbound, z.ZodTypeDef, TaskResultStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskResultStatus$ {
    /** @deprecated use `TaskResultStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskResultStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskResultStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskResultStatus$Outbound, z.ZodTypeDef, TaskResultStatus>;
    /** @deprecated use `TaskResultStatus$Outbound` instead. */
    type Outbound = TaskResultStatus$Outbound;
}
export declare function taskResultStatusToJSON(taskResultStatus: TaskResultStatus): string;
export declare function taskResultStatusFromJSON(jsonString: string): SafeParseResult<TaskResultStatus, SDKValidationError>;
/** @internal */
export declare const TaskResultSchemas4$inboundSchema: z.ZodType<TaskResultSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type TaskResultSchemas4$Outbound = {};
/** @internal */
export declare const TaskResultSchemas4$outboundSchema: z.ZodType<TaskResultSchemas4$Outbound, z.ZodTypeDef, TaskResultSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskResultSchemas4$ {
    /** @deprecated use `TaskResultSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskResultSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskResultSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskResultSchemas4$Outbound, z.ZodTypeDef, TaskResultSchemas4>;
    /** @deprecated use `TaskResultSchemas4$Outbound` instead. */
    type Outbound = TaskResultSchemas4$Outbound;
}
export declare function taskResultSchemas4ToJSON(taskResultSchemas4: TaskResultSchemas4): string;
export declare function taskResultSchemas4FromJSON(jsonString: string): SafeParseResult<TaskResultSchemas4, SDKValidationError>;
/** @internal */
export declare const TaskResultSchemasSourceValue$inboundSchema: z.ZodType<TaskResultSchemasSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TaskResultSchemasSourceValue$Outbound = string | number | boolean | TaskResultSchemas4$Outbound | Array<any>;
/** @internal */
export declare const TaskResultSchemasSourceValue$outboundSchema: z.ZodType<TaskResultSchemasSourceValue$Outbound, z.ZodTypeDef, TaskResultSchemasSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskResultSchemasSourceValue$ {
    /** @deprecated use `TaskResultSchemasSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskResultSchemasSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskResultSchemasSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskResultSchemasSourceValue$Outbound, z.ZodTypeDef, TaskResultSchemasSourceValue>;
    /** @deprecated use `TaskResultSchemasSourceValue$Outbound` instead. */
    type Outbound = TaskResultSchemasSourceValue$Outbound;
}
export declare function taskResultSchemasSourceValueToJSON(taskResultSchemasSourceValue: TaskResultSchemasSourceValue): string;
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 TaskResultSchemasValue$outboundSchema: z.ZodType<TaskResultSchemasValueOpen, z.ZodTypeDef, TaskResultSchemasValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskResultSchemasValue$ {
    /** @deprecated use `TaskResultSchemasValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskResultSchemasValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskResultSchemasValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskResultSchemasValueOpen, z.ZodTypeDef, TaskResultSchemasValueOpen>;
}
/** @internal */
export declare const TaskResultType$inboundSchema: z.ZodType<TaskResultType, z.ZodTypeDef, unknown>;
/** @internal */
export type TaskResultType$Outbound = {
    source_value?: string | number | boolean | TaskResultSchemas4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const TaskResultType$outboundSchema: z.ZodType<TaskResultType$Outbound, z.ZodTypeDef, TaskResultType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskResultType$ {
    /** @deprecated use `TaskResultType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskResultType, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskResultType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskResultType$Outbound, z.ZodTypeDef, TaskResultType>;
    /** @deprecated use `TaskResultType$Outbound` instead. */
    type Outbound = TaskResultType$Outbound;
}
export declare function taskResultTypeToJSON(taskResultType: TaskResultType): string;
export declare function taskResultTypeFromJSON(jsonString: string): SafeParseResult<TaskResultType, SDKValidationError>;
/** @internal */
export declare const TaskResultData$inboundSchema: z.ZodType<TaskResultData, z.ZodTypeDef, unknown>;
/** @internal */
export type TaskResultData$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?: TaskResultStatus$Outbound | null | undefined;
    type?: TaskResultType$Outbound | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const TaskResultData$outboundSchema: z.ZodType<TaskResultData$Outbound, z.ZodTypeDef, TaskResultData>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskResultData$ {
    /** @deprecated use `TaskResultData$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskResultData, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskResultData$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskResultData$Outbound, z.ZodTypeDef, TaskResultData>;
    /** @deprecated use `TaskResultData$Outbound` instead. */
    type Outbound = TaskResultData$Outbound;
}
export declare function taskResultDataToJSON(taskResultData: TaskResultData): string;
export declare function taskResultDataFromJSON(jsonString: string): SafeParseResult<TaskResultData, SDKValidationError>;
/** @internal */
export declare const TaskResult$inboundSchema: z.ZodType<TaskResult, z.ZodTypeDef, unknown>;
/** @internal */
export type TaskResult$Outbound = {
    data?: TaskResultData$Outbound | null | undefined;
    raw?: Array<RawResponse$Outbound> | null | undefined;
};
/** @internal */
export declare const TaskResult$outboundSchema: z.ZodType<TaskResult$Outbound, z.ZodTypeDef, TaskResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TaskResult$ {
    /** @deprecated use `TaskResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TaskResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `TaskResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TaskResult$Outbound, z.ZodTypeDef, TaskResult>;
    /** @deprecated use `TaskResult$Outbound` instead. */
    type Outbound = TaskResult$Outbound;
}
export declare function taskResultToJSON(taskResult: TaskResult): string;
export declare function taskResultFromJSON(jsonString: string): SafeParseResult<TaskResult, SDKValidationError>;
//# sourceMappingURL=taskresult.d.ts.map