import { AxiosInstance } from 'axios'; import { ServiceConfig, ErrorHandlingConfig } from '../../config'; import { RegistryServiceClient } from '../registry/registry-client'; import { UUID, UUObjectDTO, UUPropertyDTO, UUPropertyValueDTO, UUStatementDTO, UUFileDTO, UUAddressDTO, QueryParams, StatementQueryParams, AggregateCreateDTO, AggregateEntity, AggregateFindDTO, PageAggregateEntity, ApiResponse } from '../../types'; export declare class NodeServiceClient { private errorHandling; private axios; private registryClient?; constructor(_config: ServiceConfig, errorHandling: ErrorHandlingConfig, axios: AxiosInstance, registryClient?: RegistryServiceClient | undefined); getAxios(): AxiosInstance; private request; getObjects(params?: QueryParams): Promise; createOrUpdateObject(object: UUObjectDTO): Promise; softDeleteObject(uuid: UUID): Promise<{ success: boolean; }>; getProperties(params?: QueryParams): Promise; createOrUpdateProperty(property: UUPropertyDTO): Promise; createProperty(property: Omit): Promise; softDeleteProperty(uuid: UUID): Promise<{ success: boolean; }>; getPropertyValues(params?: QueryParams): Promise; createOrUpdatePropertyValue(value: UUPropertyValueDTO): Promise; createPropertyValue(value: Omit): Promise; softDeletePropertyValue(uuid: UUID): Promise<{ success: boolean; }>; getStatements(params?: StatementQueryParams): Promise; /** * Create one or more statements * API expects an array of statements */ createStatements(statements: UUStatementDTO[]): Promise; /** * Create a single statement (convenience wrapper) * Wraps the statement in an array as required by the API */ createStatement(statement: UUStatementDTO): Promise; softDeleteStatement(subject: UUID, predicate: string, object: UUID): Promise<{ success: boolean; }>; getFiles(params?: QueryParams): Promise; /** * Upload a file's binary content via multipart/form-data * Swagger: POST /api/UUFile/upload?uuidFile={uuidFile}&uuidToAttach={uuidToAttach} */ uploadFileBinary(uuidFile: UUID, uuidToAttach: UUID, file: File | Blob, fieldName?: string): Promise; /** * Create or update a UUFile record (metadata only, no binary) */ createOrUpdateFile(file: UUFileDTO): Promise; getFile(uuid: UUID): Promise; downloadFile(uuid: UUID): Promise; softDeleteFile(uuid: UUID): Promise<{ success: boolean; }>; getAddresses(params?: QueryParams): Promise; createOrUpdateAddress(address: UUAddressDTO): Promise; createAddress(address: Omit): Promise; softDeleteAddress(uuid: UUID): Promise<{ success: boolean; }>; searchAggregates(searchParams: AggregateFindDTO): Promise; createAggregates(aggregates: AggregateCreateDTO): Promise; importAggregates(aggregates: AggregateCreateDTO): Promise>; /** * Upload a file by external URL reference * Creates file record and links it to a parent object */ uploadFileByReference(input: { fileReference: string; uuidToAttach: UUID; label?: string; fileName?: string; contentType?: string; size?: number; }): Promise>; /** * Upload a file's binary content directly * Complete flow: * 1) Create UUID for the file * 2) POST binary to /api/UUFile/upload with uuidFile and uuidToAttach * 3) Create statement to link file to parent object */ uploadFileDirect(input: { file: File | Blob; uuidToAttach: UUID; label?: string; }): Promise>; addPropertyToObject(objectUuid: UUID, property: Partial & { key: string; }): Promise>; getPropertiesForObject(objectUuid: UUID, params?: QueryParams): Promise>; setValueForProperty(propertyUuid: UUID, value: Partial): Promise>; /** * Get all values for a property */ getValuesForProperty(propertyUuid: UUID, params?: QueryParams): Promise>; /** * Update error handling configuration */ updateErrorHandling(newConfig: ErrorHandlingConfig): void; }