import type { Transport, PageResult } from '@23blocks/contracts'; import type { Category, CreateCategoryRequest, UpdateCategoryRequest, ListCategoriesParams, CategoryPresignResponse, CreateCategoryImageRequest, CategoryImage } from '../types/category.js'; export interface CategoriesService { /** * List categories with optional filtering and sorting. * @returns Paginated list of Category records with metadata. */ list(params?: ListCategoriesParams): Promise>; /** * Get a single category by unique ID. * @returns The matching Category record. */ get(uniqueId: string): Promise; /** * Create a new category. * @returns The newly created Category record. */ create(data: CreateCategoryRequest): Promise; /** * Update an existing category. * @returns The updated Category record. */ update(uniqueId: string, data: UpdateCategoryRequest): Promise; /** * Delete a category. */ delete(uniqueId: string): Promise; /** * Delete a category and all its associated assets. * @note This is a cascading delete that removes all assets in the category. */ deleteCascade(uniqueId: string): Promise; /** * Get a presigned URL for uploading a category image. * @returns CategoryPresignResponse with `url`, `fields`, and `key`. */ presignImage(uniqueId: string): Promise; /** * Create a category image record after upload. * @returns The newly created CategoryImage record with URL. */ createImage(uniqueId: string, data: CreateCategoryImageRequest): Promise; /** * Delete a category image. */ deleteImage(uniqueId: string, imageUniqueId: string): Promise; } export declare function createCategoriesService(transport: Transport, _config: { apiKey: string; }): CategoriesService; //# sourceMappingURL=categories.service.d.ts.map