import * as z from "zod/v3";
import { WorkspaceUploadRequestAssignment, WorkspaceUploadRequestAssignment$Outbound } from "./workspaceuploadrequestassignment.js";
import { WorkspaceUploadRequestDocument, WorkspaceUploadRequestDocument$Outbound } from "./workspaceuploadrequestdocument.js";
import { WorkspaceUploadRequestOwner, WorkspaceUploadRequestOwner$Outbound } from "./workspaceuploadrequestowner.js";
import { WorkspaceUploadRequestStatus } from "./workspaceuploadrequeststatus.js";
/**
 * Upload request details for update operations
 */
export type UpdateWorkspaceUploadRequestBody = {
    /**
     * The ID of the upload request
     */
    uploadRequestId?: string | null | undefined;
    /**
     * The ID of the workspace
     */
    workspaceId?: string | null | undefined;
    /**
     * The name of the upload request (editable)
     */
    name: string | null;
    /**
     * The description of the upload request (editable)
     */
    description: string | null;
    uploadRequestOwner?: WorkspaceUploadRequestOwner | undefined;
    /**
     * Enum representing the status of a workspace upload request
     */
    status: WorkspaceUploadRequestStatus;
    /**
     * List of documents associated with the upload request
     */
    documents?: Array<WorkspaceUploadRequestDocument> | null | undefined;
    /**
     * List of user assignments for the upload request
     */
    assignments?: Array<WorkspaceUploadRequestAssignment> | null | undefined;
    /**
     * The date the upload request was created
     */
    createdDate?: string | null | undefined;
    /**
     * The date the upload request was last updated
     */
    updatedDate?: string | null | undefined;
    /**
     * The due date for the upload request (editable)
     */
    dueDate: Date;
    /**
     * The date the upload request was sent
     */
    sentDate?: string | null | undefined;
    /**
     * The date the upload request was completed
     */
    completedDate?: string | null | undefined;
    /**
     * Whether the current user can view the upload request
     */
    canView?: boolean | null | undefined;
    /**
     * Whether the current user can edit the upload request
     */
    canEdit?: boolean | null | undefined;
    /**
     * Whether the current user can delete the upload request
     */
    canDelete?: boolean | null | undefined;
};
/** @internal */
export type UpdateWorkspaceUploadRequestBody$Outbound = {
    upload_request_id?: string | null | undefined;
    workspace_id?: string | null | undefined;
    name: string | null;
    description: string | null;
    upload_request_owner?: WorkspaceUploadRequestOwner$Outbound | undefined;
    status: string;
    documents?: Array<WorkspaceUploadRequestDocument$Outbound> | null | undefined;
    assignments?: Array<WorkspaceUploadRequestAssignment$Outbound> | null | undefined;
    created_date?: string | null | undefined;
    updated_date?: string | null | undefined;
    due_date: string;
    sent_date?: string | null | undefined;
    completed_date?: string | null | undefined;
    can_view?: boolean | null | undefined;
    can_edit?: boolean | null | undefined;
    can_delete?: boolean | null | undefined;
};
/** @internal */
export declare const UpdateWorkspaceUploadRequestBody$outboundSchema: z.ZodType<UpdateWorkspaceUploadRequestBody$Outbound, z.ZodTypeDef, UpdateWorkspaceUploadRequestBody>;
export declare function updateWorkspaceUploadRequestBodyToJSON(updateWorkspaceUploadRequestBody: UpdateWorkspaceUploadRequestBody): string;
//# sourceMappingURL=updateworkspaceuploadrequestbody.d.ts.map