import { LogonData } from "../adtConnection/adtConnection";
import { Version } from "../shared/commonTypes";
import { ResulSearchConfigurations, ResultAddObject, ResultAddUserOrder, ResultChangeTaskType, ResultChangeUserOrder, ResultDeleteOrder, ResultDetailOrder, ResultEditOrder, ResultLockObject, ResultMoveObject, ResultReassignTask, ResultReleaseOrder, ResultRemoveObject, ResultSortAndCompress, ResultTransportConfiguration, ResultTransportConfigurationMetadata, ResultUnlockObject, ResultUserOrders, ResultValueHelp, TransportConfiguration, TransportEdit, TransportMoveObject, TransportOrderType, TransportRemoveObject, TransportTaskType } from "./transportTypes";
export * from "./transportTypes";
export * from "./transportConstants";
export default class AdtTransport {
    private connectionController;
    private orderApp;
    private transportOperations;
    private releaseApp;
    private configurationApp;
    private valueHelpApp;
    private transportObject;
    constructor(logonData: LogonData);
    /**
     * Devuelve las ordenes en versiones S4 donde se busca a partir de una configuración(como los
     * paramétros de la SE09/SE10) establecida (una por defecto o puede ser modificada))
     * @param target
     * @param urlConfiguration
     * @returns
     */
    getUserOrders(target?: boolean, urlConfiguration?: string): Promise<ResultUserOrders>;
    /**
     * Obtención de las ordenes del usuario cuando no hay configuración. Es decir,
     * para versión de SAP antiguas(digo antiguas pero son 7.50/7.51. Pero anteriores a S/4 HANA)
     * @param user Usuario
     * @param target Clasifica por la capa de transporte
     * @returns
     */
    getUsersOrdersWOConf(user: string, target?: boolean): Promise<ResultUserOrders>;
    /**
     * Añade un usuario a la orden
     * @param order Orden
     * @param user Usuario
     * @returns
     */
    addUserOrder(order: string, user: string): Promise<ResultAddUserOrder>;
    /**
     * Borra el contenido de una orden o tarea
     * @param order Orden
     * @returns
     */
    deleteOrder(order: string): Promise<ResultDeleteOrder>;
    /**
     * Liberación de una orden o tarea
     * @param order
     */
    releaseOrder(order: string): Promise<ResultReleaseOrder>;
    /**
     * Liberación de una orden o tarea ignorando los objetos que no están bloqueados
     * @param order
     */
    releaseOrderWOLocks(order: string): Promise<ResultReleaseOrder>;
    /**
     * Cambio de usuario en una orden o tarea en version previas S/4
     * @param order
     * @param user
     * @returns
     */
    changeUserOrderWOConf(order: string, user: string): Promise<ResultChangeUserOrder>;
    /**
     * Cambio de usuario en una orden o tarea
     * @param order
     * @param user
     * @returns
     */
    changeUserOrder(order: string, user: string): Promise<ResultChangeUserOrder>;
    /**
     * Búsqueda de la URL de configuración del si
     */
    searchConfigurations(): Promise<ResulSearchConfigurations>;
    /**
     * Obtiene la configuración de transporte
     * @param idConfiguration
     */
    getConfiguration(idConfiguration: string): Promise<ResultTransportConfiguration>;
    /**
     * Modifica la configuración
     * @param idConfiguration
     * @param transportConfiguration
     * @param etag
     * @returns
     */
    setConfiguration(idConfiguration: string, transportConfiguration: TransportConfiguration, etag?: string): Promise<ResultTransportConfiguration>;
    /**
     * Obtiene los metadatos de la configuración
     * @returns
     */
    getConfigurationMetadata(): Promise<ResultTransportConfigurationMetadata>;
    /**
     * Ayuda para búsqueda del campo target
     * @param filterName Patron para filtar por el nombre
     * @returns
     */
    getTargetVH(filterName?: string): Promise<ResultValueHelp>;
    /**
     * Ayuda para búsqueda del campo Tipo de objeto
     * @param filterName Patron para filtar por el nombre
     * @returns
     */
    getTypeVH(filterName?: string): Promise<ResultValueHelp>;
    /**
     * Ayuda para búsqueda del campo CTS Project
     * @param filterName Patron para filtar por el nombre
     * @returns
     */
    getCTSProjectVH(filterName?: string): Promise<ResultValueHelp>;
    /**
     * Creación de una orden
     * @param description
     * @param type
     * @param owner
     * @param target
     * @param ctsProject
     * @returns
     */
    createOrder(description: string, type: TransportOrderType, owner: string, target?: string, ctsProject?: string): Promise<ResultDetailOrder>;
    /**
     * Cambio el tipo de tarea
     * @param task
     * @param type
     * @returns
     */
    changeTaskType(task: string, type: TransportTaskType): Promise<ResultChangeTaskType>;
    /**
     * Mover objecto de una orden/tarea a otra orden/tarea. Los datos del objeto son los que se
     * recuperán
     * @param object
     * @param order
     * @param newOrder
     * @returns
     */
    moveObject(object: TransportMoveObject): Promise<ResultMoveObject>;
    /**
     * Borrado de un objeto de una orde o tarea. Los datos del objeto son los que se
     * recuperán al leer las ordenes del usuario.
     * @param object
     * @param order
     * @returns
     */
    removeObject(object: TransportRemoveObject): Promise<ResultRemoveObject>;
    /**
     * Añade un objeto a una orden
     * @param order Orden
     * @param objectName Nombre del objeto
     * @param objectType Tipo de objeto (ejemplo: PROG, CLAS,etc)
     * @param programID Id del objeto(ejemplo:R3TR,LIMU,etc.)
     * @returns
     */
    AddObject(order: string, objectName: string, objectType: string, programID: string): Promise<ResultAddObject>;
    /**
     * Ordenar y comprimir orden/tarea
     * @param order
     * @returns
     */
    sortAndCompress(order: string): Promise<ResultSortAndCompress>;
    /**
     * Reasignar tarea a una nueva orden.
     * @param task
     * @param newOrder
     * @returns
     */
    reassignTask(task: string, newOrder: string): Promise<ResultReassignTask>;
    /**
     * Detalle de una orden/tarea. La info devuelta es la misma que la que se recupera al leer las ordenes
     * de un usuario pero a nivel de orden/tarea.
     * @param orderTask
     * @param version
     * @returns
     */
    detailOrderTask(orderTask: string, version?: Version): Promise<ResultDetailOrder>;
    /**
     * Bloqueo de una orden
     * @param order
     * @returns
     */
    lockOrder(order: string): Promise<ResultLockObject>;
    /**
     * Desbloqueo de una orden
     * @param order
     * @param lockHandle
     * @returns
     */
    unlockOrder(order: string, lockHandle: string): Promise<ResultUnlockObject>;
    /**
     * Edición de una orden
     * @param order
     * @returns
     */
    editOrder(order: string, values: TransportEdit): Promise<ResultEditOrder>;
}
//# sourceMappingURL=adtTransport.d.ts.map