import { IIdentified, Service, IResult } from '../core';
import { IOperationBulk } from './IOperationBulk';
/**
 * This class allows for managing bulk operations.
 */
export declare class OperationBulkService extends Service<IOperationBulk> {
    protected baseUrl: string;
    protected listUrl: string;
    protected propertyName: string;
    /**
     * Gets the details of selected bulk operation.
     *
     * @param {string|number|IIdentified} entityOrId Entity or Id of the entity.
     *
     * @returns Response wrapped in [[IResult]]
     *
     * **Example**
     * ```typescript
     *
     *    const bulkOperationId: number = 1;
     *
     *    (async () => {
     *      const {data, res} = await operationBulkService.detail(bulkOperationId);
     *   })();
     * ```
     */
    detail(operationOrId: string | number | IIdentified): Promise<IResult<IOperationBulk>>;
    /**
     * Creates a new operation.
     *
     * @param {Partial<IOperationBulk>} operation Operation object with mandantory fragments.
     *
     * @returns Response wrapped in [[IResult]]
     *
     * **Example**
     * ```typescript
     *
     *  const mandantoryObject: Partial<IOperationBulk> = {
     *    creationRamp: 15,
     *    groupId: '149044',
     *    operationPrototype: {
     *      c8y_Restart: {},
     *      description: 'Restart device',
     *      deviceId: device.id,
     *      status: 'PENDING'
     *    },
     *     startDate: '2018-02-15T16:01:00.000Z'
     *  };
     *
     *  (async () => {
     *    const {data, res} = await operationBulkService.create(mandantoryObject);
     *  })();
     * ```
     */
    create(operation: Partial<IOperationBulk>): Promise<IResult<IOperationBulk>>;
    /**
     * Updates a new operation.
     *
     * @param {Partial<IOperationBulk>} operation Operation object.
     *
     * @returns Response wrapped in [[IResult]]
     *
     * **Example**
     * ```typescript
     *
     *  const updateObject: Partial<IOperationBulk> = {
     *    creationRamp: 15,
     *    groupId: '149044',
     *    operationPrototype: {
     *      c8y_Restart: {},
     *      description: 'Restart device',
     *      deviceId: device.id,
     *      status: 'PENDING'
     *    },
     *     startDate: '2018-02-15T16:01:00.000Z'
     *  };
     *
     *  (async () => {
     *    const {data, res} = await operationBulkService.update(updateObject);
     *  })();
     * ```
     */
    update(entity: Partial<IOperationBulk>): Promise<IResult<IOperationBulk>>;
    /**
     * Gets the list of bulk operations filtered by parameters.
     *
     * @returns Response wrapped in [[IResultList]]
     *
     * @param {object} filter Object containing filters for querying alarms.
     *
     * **Example**
     * ```typescript
     *
     *  const filter: object = {
     *     pageSize: 100,
     *     withTotalPages: true
     *   };
     *
     *   (async () => {
     *     const {data, res, paging} = await operationBulkService.list(filter);
     *   })();
     * ```
     */
    list(filter?: object): Promise<import("../core").IResultList<IOperationBulk>>;
    /**
     * Removes an bulk operation with given id.
     *
     * @returns Response wrapped in [[IResult]]
     *
     * @param {string | number | IIdentified):} operationOrId Operation object or id.
     *
     * **Example**
     * ```typescript
     *
     *   const id: number = 1;
     *
     *    (async () => {
     *      const {data, res} = await operationBulkService.delete(id);
     *   })();
     * ```
     */
    delete(operationOrId: string | number | IIdentified): Promise<IResult<null>>;
}
//# sourceMappingURL=OperationBulkService.d.ts.map