import type { Transport, PageResult } from '@23blocks/contracts'; import type { AssetsEntity, CreateAssetsEntityRequest, UpdateAssetsEntityRequest, ListAssetsEntitiesParams, EntityAccess, AccessRequest, CreateAccessRequestRequest } from '../types/entity.js'; export interface AssetsEntitiesService { /** * List asset entities with optional filtering and sorting. * @returns Paginated list of AssetsEntity records with metadata. */ list(params?: ListAssetsEntitiesParams): Promise>; /** * Get a single asset entity by unique ID. * @returns The matching AssetsEntity record. */ get(uniqueId: string): Promise; /** * Create a new asset entity. * @returns The newly created AssetsEntity record. */ create(data: CreateAssetsEntityRequest): Promise; /** * Update an existing asset entity. * @returns The updated AssetsEntity record. */ update(uniqueId: string, data: UpdateAssetsEntityRequest): Promise; /** * Delete an asset entity. */ delete(uniqueId: string): Promise; /** * List access grants for an entity. * @returns Array of EntityAccess records. */ listAccesses(uniqueId: string): Promise; /** * Get the access record for an entity. * @returns The EntityAccess record. */ getAccess(uniqueId: string): Promise; /** * Make an entity publicly accessible. */ makePublic(uniqueId: string): Promise; /** * Revoke a specific access grant for an entity. */ revokeAccess(uniqueId: string, accessUniqueId: string): Promise; /** * Request access to an entity. * @returns The newly created AccessRequest record. */ requestAccess(uniqueId: string, data: CreateAccessRequestRequest): Promise; /** * List pending access requests for an entity. * @returns Array of AccessRequest records. */ listAccessRequests(uniqueId: string): Promise; /** * Approve an access request for an entity. * @returns The approved AccessRequest record. */ approveAccessRequest(uniqueId: string, requestUniqueId: string): Promise; /** * Deny an access request for an entity. */ denyAccessRequest(uniqueId: string, requestUniqueId: string): Promise; } export declare function createAssetsEntitiesService(transport: Transport, _config: { apiKey: string; }): AssetsEntitiesService; //# sourceMappingURL=entities.service.d.ts.map