import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import * as operations from "../models/operations/index.js";
import { PageIterator } from "../types/operations.js";
export declare class Categories extends ClientSDK {
    /**
     * Get all Categories
     *
     * @remarks
     * Get all of the Line Item Categories on the service provider.
     */
    getAll(request: operations.GetAllCategoriesRequest, options?: RequestOptions): Promise<PageIterator<operations.GetAllCategoriesResponse, {
        offset: number;
    }>>;
    /**
     * Create a Category
     *
     * @remarks
     * To create a new Category. The responding system must return the set of sourcedIds that have been allocated to the newly created category record. A 'title' MUST be provided when creating a category.
     */
    create(request: operations.CreateCategoryRequest, options?: RequestOptions): Promise<operations.CreateCategoryResponse>;
    /**
     * Get a Category
     *
     * @remarks
     * Get a specific category on the service provider. If the corresponding record cannot be located, the api will return a 404 error code and message 'Category not found.'
     */
    get(request: operations.GetCategoryRequest, options?: RequestOptions): Promise<operations.GetCategoryResponse>;
    /**
     * Update a Category
     *
     * @remarks
     * To update an existing Category. The sourcedId for the record to be updated is supplied by the requesting system.
     */
    update(request: operations.UpdateCategoryRequest, options?: RequestOptions): Promise<operations.UpdateCategoryResponse>;
    /**
     * Delete a Category
     *
     * @remarks
     * Perform a soft delete on a specific Category on the service provider. This operation changes the status of the Category to 'tobedeleted'.
     */
    delete(request: operations.DeleteCategoryRequest, options?: RequestOptions): Promise<void>;
}
//# sourceMappingURL=categories.d.ts.map