import { AxiosInstance } from 'axios';
export declare function killTask(api: AxiosInstance, taskId: string): Promise<any>;
interface LockTaskOptions {
    stepId?: string;
    returnTask?: boolean;
}
export declare function lockTask(api: AxiosInstance, taskId: string, options?: LockTaskOptions): Promise<any>;
export declare function refreshTaskLock(api: AxiosInstance, taskId: string): Promise<any>;
interface ReleaseTaskOptions {
    destStepId?: string;
    commit?: boolean;
}
export declare function releaseTask(api: AxiosInstance, taskId: string, options?: ReleaseTaskOptions): Promise<any>;
interface ReleaseTaskByAnchorOptions {
    userId?: string;
    commit?: boolean;
}
export declare function releaseTaskByAnchor(api: AxiosInstance, taskId: string, anchor: string, options?: ReleaseTaskByAnchorOptions): Promise<any>;
interface ReleaseTaskSplitStepOptions {
    splitParams?: string;
    commit?: boolean;
}
export declare function releaseTaskSplitStep(api: AxiosInstance, taskId: string, options?: ReleaseTaskSplitStepOptions): Promise<any>;
interface RouteTaskOptions {
    stepId?: string;
    availableDate?: string;
    userId?: string;
    extUserId?: string;
    commit?: boolean;
}
export declare function routeTask(api: AxiosInstance, taskId: string, options?: RouteTaskOptions): Promise<any>;
export declare function unlockTask(api: AxiosInstance, taskId: string): Promise<any>;
export declare function getTaskAttributeById(api: AxiosInstance, taskId: string, id: string): Promise<any>;
export declare function getTaskAttributeByName(api: AxiosInstance, taskId: string, name: string): Promise<any>;
export declare function getTaskAttributes(api: AxiosInstance, taskId: string): Promise<any>;
export declare function setTaskAttributeById(api: AxiosInstance, taskId: string, id: string, content: any): Promise<any>;
export declare function setTaskAttributeByName(api: AxiosInstance, taskId: string, name: string, content: any): Promise<any>;
export declare function createTask(api: AxiosInstance, content: any): Promise<any>;
interface GetPostTasksOptions {
    filter?: any;
    skip?: number;
    top?: number;
}
export declare function getPostTasks(api: AxiosInstance, options?: GetPostTasksOptions): Promise<any>;
interface GetTasksOptions {
    tasks?: string;
    availableDateStart?: string;
    availableDateEnd?: string;
    flows?: string;
    excludeFlows?: string;
    steps?: string;
    excludeSteps?: string;
    assignedTo?: string;
    taskStatus?: string;
    excludeStatus?: string;
    lockable?: boolean;
    orderBy?: string;
    lockedBy?: string;
    debug?: boolean;
    skip?: number;
    top?: number;
}
export declare function getTasks(api: AxiosInstance, options?: GetTasksOptions): Promise<any>;
export declare function getTasksByFileId(api: AxiosInstance, fileId: string, options?: GetTasksOptions): Promise<any>;
export declare function getTasksByFileIdPost(api: AxiosInstance, fileId: string, options?: GetPostTasksOptions): Promise<any>;
export declare function updateTask(api: AxiosInstance, taskId: string, content: any): Promise<any>;
export {};
