import { NeoFSClient } from '../client'; import { Signer } from '@axlabs/neofs-sdk-ts-core/crypto'; import { ContainerID, ObjectID, Address, ObjectGetResult } from '../types'; export interface ObjectHeader { containerId: ContainerID; ownerId: Uint8Array; objectType?: number; payloadLength?: number; payloadHash?: { type: number; sum: Uint8Array; }; homomorphicHash?: { type: number; sum: Uint8Array; }; attributes?: Array<{ key: string; value: string; }>; signature?: { key: Uint8Array; sign: Uint8Array; scheme?: number; }; version?: { major: number; minor: number; }; } export interface ObjectPutParams { header: ObjectHeader; payload?: Uint8Array; copiesNumber?: number; } export interface ObjectGetParams { address: Address; raw?: boolean; } export interface ObjectHeadParams { address: Address; raw?: boolean; } export interface ObjectDeleteParams { address: Address; } export interface ObjectSearchParams { containerId: ContainerID; filters?: Array<{ key: string; value: string; matchType: number; }>; limit?: number; offset?: number; } export interface ObjectSearchV2Params { containerId: ContainerID; filters?: Array<{ key: string; value: string; matchType: number; }>; limit?: number; cursor?: string; } export interface ObjectSearchResult { id: ObjectID; attributes: Array<{ key: string; value: string; }>; } export interface ObjectSearchV2Result { result: ObjectSearchResult[]; cursor: string; } export interface ObjectGetRangeParams { address: Address; range: { offset: bigint; length: bigint; }; raw?: boolean; } export declare class ObjectClient { private streamingClient; constructor(client: NeoFSClient, config: { signer: Signer; endpoint: string; }); put(params: ObjectPutParams): Promise; get(params: ObjectGetParams): Promise; getRange(params: ObjectGetRangeParams): Promise; head(params: ObjectHeadParams): Promise; delete(params: ObjectDeleteParams): Promise
; /** * Search for objects in a container (legacy streaming API). * * @deprecated NeoFS protocol marks `ObjectService/Search` as deprecated. Use `searchV2()` instead. */ search(params: ObjectSearchParams): Promise; searchV2(params: ObjectSearchV2Params): Promise; }