import { z } from 'zod';
import { Endpoint } from './common';
declare const userTaskStateSchema: z.ZodEnum<{
    CREATED: "CREATED";
    COMPLETED: "COMPLETED";
    CANCELED: "CANCELED";
    FAILED: "FAILED";
    ASSIGNING: "ASSIGNING";
    UPDATING: "UPDATING";
    COMPLETING: "COMPLETING";
    CANCELING: "CANCELING";
}>;
type UserTaskState = z.infer<typeof userTaskStateSchema>;
declare const userTaskSchema: z.ZodObject<{
    state: z.ZodEnum<{
        CREATED: "CREATED";
        COMPLETED: "COMPLETED";
        CANCELED: "CANCELED";
        FAILED: "FAILED";
        ASSIGNING: "ASSIGNING";
        UPDATING: "UPDATING";
        COMPLETING: "COMPLETING";
        CANCELING: "CANCELING";
    }>;
    processDefinitionVersion: z.ZodNumber;
    processDefinitionId: z.ZodString;
    processName: z.ZodOptional<z.ZodString>;
    processInstanceKey: z.ZodString;
    processDefinitionKey: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    elementId: z.ZodString;
    elementInstanceKey: z.ZodString;
    tenantId: z.ZodString;
    userTaskKey: z.ZodString;
    assignee: z.ZodOptional<z.ZodString>;
    candidateGroups: z.ZodArray<z.ZodString>;
    candidateUsers: z.ZodArray<z.ZodString>;
    dueDate: z.ZodOptional<z.ZodString>;
    followUpDate: z.ZodOptional<z.ZodString>;
    creationDate: z.ZodString;
    completionDate: z.ZodOptional<z.ZodString>;
    customHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    formKey: z.ZodOptional<z.ZodString>;
    externalFormReference: z.ZodOptional<z.ZodString>;
    priority: z.ZodNumber;
}, z.core.$strip>;
type UserTask = z.infer<typeof userTaskSchema>;
declare const getUserTask: Endpoint<Pick<UserTask, 'userTaskKey'>>;
declare const queryUserTasksRequestBodySchema: z.ZodObject<{
    sort: z.ZodOptional<z.ZodArray<z.ZodObject<{
        field: z.ZodEnum<{
            dueDate: "dueDate";
            followUpDate: "followUpDate";
            creationDate: "creationDate";
            completionDate: "completionDate";
            priority: "priority";
        }>;
        order: z.ZodOptional<z.ZodEnum<{
            asc: "asc";
            desc: "desc";
        }>>;
    }, z.core.$strip>>>;
    page: z.ZodOptional<z.ZodObject<{
        from: z.ZodOptional<z.ZodNumber>;
        limit: z.ZodOptional<z.ZodNumber>;
        before: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        after: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    filter: z.ZodOptional<z.ZodObject<{
        tenantId: z.ZodOptional<z.ZodString>;
        processDefinitionKey: z.ZodOptional<z.ZodString>;
        processDefinitionId: z.ZodOptional<z.ZodString>;
        elementId: z.ZodOptional<z.ZodString>;
        processInstanceKey: z.ZodOptional<z.ZodString>;
        elementInstanceKey: z.ZodOptional<z.ZodString>;
        userTaskKey: z.ZodOptional<z.ZodString>;
        assignee: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            $eq: z.ZodOptional<z.ZodString>;
            $neq: z.ZodOptional<z.ZodString>;
            $exists: z.ZodOptional<z.ZodBoolean>;
            $in: z.ZodOptional<z.ZodArray<z.ZodString>>;
            $notIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
            $like: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, z.ZodString]>>;
        priority: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            $eq: z.ZodOptional<z.ZodNumber>;
            $neq: z.ZodOptional<z.ZodNumber>;
            $exists: z.ZodOptional<z.ZodBoolean>;
            $gt: z.ZodOptional<z.ZodNumber>;
            $gte: z.ZodOptional<z.ZodNumber>;
            $lt: z.ZodOptional<z.ZodNumber>;
            $lte: z.ZodOptional<z.ZodNumber>;
            $in: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
        }, z.core.$strip>]>>;
        candidateGroup: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            $eq: z.ZodOptional<z.ZodString>;
            $neq: z.ZodOptional<z.ZodString>;
            $exists: z.ZodOptional<z.ZodBoolean>;
            $in: z.ZodOptional<z.ZodArray<z.ZodString>>;
            $notIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
            $like: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, z.ZodString]>>;
        candidateUser: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            $eq: z.ZodOptional<z.ZodString>;
            $neq: z.ZodOptional<z.ZodString>;
            $exists: z.ZodOptional<z.ZodBoolean>;
            $in: z.ZodOptional<z.ZodArray<z.ZodString>>;
            $notIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
            $like: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, z.ZodString]>>;
        creationDate: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            $eq: z.ZodOptional<z.ZodString>;
            $neq: z.ZodOptional<z.ZodString>;
            $exists: z.ZodOptional<z.ZodBoolean>;
            $gt: z.ZodOptional<z.ZodString>;
            $gte: z.ZodOptional<z.ZodString>;
            $lt: z.ZodOptional<z.ZodString>;
            $lte: z.ZodOptional<z.ZodString>;
            $in: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>]>>;
        completionDate: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            $eq: z.ZodOptional<z.ZodString>;
            $neq: z.ZodOptional<z.ZodString>;
            $exists: z.ZodOptional<z.ZodBoolean>;
            $gt: z.ZodOptional<z.ZodString>;
            $gte: z.ZodOptional<z.ZodString>;
            $lt: z.ZodOptional<z.ZodString>;
            $lte: z.ZodOptional<z.ZodString>;
            $in: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>]>>;
        followUpDate: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            $eq: z.ZodOptional<z.ZodString>;
            $neq: z.ZodOptional<z.ZodString>;
            $exists: z.ZodOptional<z.ZodBoolean>;
            $gt: z.ZodOptional<z.ZodString>;
            $gte: z.ZodOptional<z.ZodString>;
            $lt: z.ZodOptional<z.ZodString>;
            $lte: z.ZodOptional<z.ZodString>;
            $in: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>]>>;
        dueDate: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            $eq: z.ZodOptional<z.ZodString>;
            $neq: z.ZodOptional<z.ZodString>;
            $exists: z.ZodOptional<z.ZodBoolean>;
            $gt: z.ZodOptional<z.ZodString>;
            $gte: z.ZodOptional<z.ZodString>;
            $lt: z.ZodOptional<z.ZodString>;
            $lte: z.ZodOptional<z.ZodString>;
            $in: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>]>>;
        localVariables: z.ZodOptional<z.ZodArray<z.ZodObject<{
            value: z.ZodString;
            name: z.ZodString;
        }, z.core.$strip>>>;
        processInstanceVariables: z.ZodOptional<z.ZodArray<z.ZodObject<{
            value: z.ZodString;
            name: z.ZodString;
        }, z.core.$strip>>>;
        state: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
            CREATED: "CREATED";
            COMPLETED: "COMPLETED";
            CANCELED: "CANCELED";
            FAILED: "FAILED";
            ASSIGNING: "ASSIGNING";
            UPDATING: "UPDATING";
            COMPLETING: "COMPLETING";
            CANCELING: "CANCELING";
        }>, z.ZodObject<{
            $eq: z.ZodOptional<z.ZodEnum<{
                CREATED: "CREATED";
                COMPLETED: "COMPLETED";
                CANCELED: "CANCELED";
                FAILED: "FAILED";
                ASSIGNING: "ASSIGNING";
                UPDATING: "UPDATING";
                COMPLETING: "COMPLETING";
                CANCELING: "CANCELING";
            }>>;
            $neq: z.ZodOptional<z.ZodEnum<{
                CREATED: "CREATED";
                COMPLETED: "COMPLETED";
                CANCELED: "CANCELED";
                FAILED: "FAILED";
                ASSIGNING: "ASSIGNING";
                UPDATING: "UPDATING";
                COMPLETING: "COMPLETING";
                CANCELING: "CANCELING";
            }>>;
            $exists: z.ZodOptional<z.ZodBoolean>;
            $in: z.ZodOptional<z.ZodArray<z.ZodEnum<{
                CREATED: "CREATED";
                COMPLETED: "COMPLETED";
                CANCELED: "CANCELED";
                FAILED: "FAILED";
                ASSIGNING: "ASSIGNING";
                UPDATING: "UPDATING";
                COMPLETING: "COMPLETING";
                CANCELING: "CANCELING";
            }>>>;
            $notIn: z.ZodOptional<z.ZodArray<z.ZodEnum<{
                CREATED: "CREATED";
                COMPLETED: "COMPLETED";
                CANCELED: "CANCELED";
                FAILED: "FAILED";
                ASSIGNING: "ASSIGNING";
                UPDATING: "UPDATING";
                COMPLETING: "COMPLETING";
                CANCELING: "CANCELING";
            }>>>;
        }, z.core.$strip>]>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
type QueryUserTasksRequestBody = z.infer<typeof queryUserTasksRequestBodySchema>;
declare const queryUserTasksResponseBodySchema: z.ZodType<import('./common').QueryResponseBody<{
    state: "CREATED" | "COMPLETED" | "CANCELED" | "FAILED" | "ASSIGNING" | "UPDATING" | "COMPLETING" | "CANCELING";
    processDefinitionVersion: number;
    processDefinitionId: string;
    processInstanceKey: string;
    processDefinitionKey: string;
    elementId: string;
    elementInstanceKey: string;
    tenantId: string;
    userTaskKey: string;
    candidateGroups: string[];
    candidateUsers: string[];
    creationDate: string;
    priority: number;
    processName?: string | undefined;
    name?: string | undefined;
    assignee?: string | undefined;
    dueDate?: string | undefined;
    followUpDate?: string | undefined;
    completionDate?: string | undefined;
    customHeaders?: Record<string, unknown> | undefined;
    formKey?: string | undefined;
    externalFormReference?: string | undefined;
}>, unknown, z.core.$ZodTypeInternals<import('./common').QueryResponseBody<{
    state: "CREATED" | "COMPLETED" | "CANCELED" | "FAILED" | "ASSIGNING" | "UPDATING" | "COMPLETING" | "CANCELING";
    processDefinitionVersion: number;
    processDefinitionId: string;
    processInstanceKey: string;
    processDefinitionKey: string;
    elementId: string;
    elementInstanceKey: string;
    tenantId: string;
    userTaskKey: string;
    candidateGroups: string[];
    candidateUsers: string[];
    creationDate: string;
    priority: number;
    processName?: string | undefined;
    name?: string | undefined;
    assignee?: string | undefined;
    dueDate?: string | undefined;
    followUpDate?: string | undefined;
    completionDate?: string | undefined;
    customHeaders?: Record<string, unknown> | undefined;
    formKey?: string | undefined;
    externalFormReference?: string | undefined;
}>, unknown>>;
type QueryUserTasksResponseBody = z.infer<typeof queryUserTasksResponseBodySchema>;
declare const queryUserTasks: Endpoint;
declare const formSchema: z.ZodObject<{
    formKey: z.ZodString;
    tenantId: z.ZodString;
    bpmnId: z.ZodString;
    schema: z.ZodString;
    version: z.ZodNumber;
}, z.core.$strip>;
type Form = z.infer<typeof formSchema>;
declare const getUserTaskForm: Endpoint<Pick<UserTask, 'userTaskKey'>>;
declare const updateUserTaskRequestBodySchema: z.ZodObject<{
    changeset: z.ZodObject<{
        candidateGroups: z.ZodOptional<z.ZodArray<z.ZodString>>;
        candidateUsers: z.ZodOptional<z.ZodArray<z.ZodString>>;
        dueDate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        followUpDate: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        priority: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>;
    action: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type UpdateUserTaskRequestBody = z.infer<typeof updateUserTaskRequestBodySchema>;
declare const updateUserTask: Endpoint<Pick<UserTask, 'userTaskKey'>>;
declare const getTask: Endpoint<Pick<UserTask, 'userTaskKey'>>;
declare const assignTaskRequestBodySchema: z.ZodObject<{
    assignee: z.ZodString;
    allowOverride: z.ZodOptional<z.ZodBoolean>;
    action: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type AssignTaskRequestBody = z.infer<typeof assignTaskRequestBodySchema>;
declare const assignTask: Endpoint<Pick<UserTask, 'userTaskKey'>>;
declare const unassignTaskRequestBodySchema: z.ZodObject<{
    action: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type UnassignTaskRequestBody = z.infer<typeof unassignTaskRequestBodySchema>;
declare const unassignTask: Endpoint<Pick<UserTask, 'userTaskKey'>>;
declare const completeTaskRequestBodySchema: z.ZodObject<{
    variables: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    action: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type CompleteTaskRequestBody = z.infer<typeof completeTaskRequestBodySchema>;
declare const completeTask: Endpoint<Pick<UserTask, 'userTaskKey'>>;
declare const queryVariablesByUserTaskRequestBodySchema: z.ZodObject<{
    sort: z.ZodOptional<z.ZodArray<z.ZodObject<{
        field: z.ZodEnum<{
            value: "value";
            tenantId: "tenantId";
            name: "name";
            processInstanceKey: "processInstanceKey";
            scopeKey: "scopeKey";
            variableKey: "variableKey";
            fullValue: "fullValue";
        }>;
        order: z.ZodOptional<z.ZodEnum<{
            asc: "asc";
            desc: "desc";
        }>>;
    }, z.core.$strip>>>;
    page: z.ZodOptional<z.ZodObject<{
        from: z.ZodOptional<z.ZodNumber>;
        limit: z.ZodOptional<z.ZodNumber>;
        before: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        after: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    filter: z.ZodOptional<z.ZodObject<{
        name: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            $eq: z.ZodOptional<z.ZodString>;
            $neq: z.ZodOptional<z.ZodString>;
            $exists: z.ZodOptional<z.ZodBoolean>;
            $in: z.ZodOptional<z.ZodArray<z.ZodString>>;
            $notIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
            $like: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, z.ZodString]>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
type QueryVariablesByUserTaskRequestBody = z.infer<typeof queryVariablesByUserTaskRequestBodySchema>;
declare const queryVariablesByUserTaskResponseBodySchema: z.ZodType<import('./common').QueryResponseBody<{
    name: string;
    value: string;
    tenantId: string;
    isTruncated: boolean;
    variableKey: string;
    scopeKey: string;
    processInstanceKey: string;
}>, unknown, z.core.$ZodTypeInternals<import('./common').QueryResponseBody<{
    name: string;
    value: string;
    tenantId: string;
    isTruncated: boolean;
    variableKey: string;
    scopeKey: string;
    processInstanceKey: string;
}>, unknown>>;
type QueryVariablesByUserTaskResponseBody = z.infer<typeof queryVariablesByUserTaskResponseBodySchema>;
declare const queryVariablesByUserTask: Endpoint<Pick<UserTask, 'userTaskKey'>>;
export { getUserTask, queryUserTasks, getUserTaskForm, getTask, assignTask, unassignTask, completeTask, queryVariablesByUserTask, userTaskSchema, userTaskStateSchema, queryUserTasksResponseBodySchema, queryUserTasksRequestBodySchema, formSchema, assignTaskRequestBodySchema, unassignTaskRequestBodySchema, completeTaskRequestBodySchema, queryVariablesByUserTaskRequestBodySchema, queryVariablesByUserTaskResponseBodySchema, updateUserTask, updateUserTaskRequestBodySchema, };
export type { UserTask, QueryUserTasksResponseBody, QueryUserTasksRequestBody, Form, AssignTaskRequestBody, UnassignTaskRequestBody, CompleteTaskRequestBody, QueryVariablesByUserTaskRequestBody, QueryVariablesByUserTaskResponseBody, UpdateUserTaskRequestBody, UserTaskState, };
