import { IStratusObjectVersions, IStratusObjectDetails, IStratusSignedURLRes, IStratusObjectVersionDetails } from '../utils/pojo/stratus'; import { Bucket } from './bucket'; export declare class StratusObject { #private; keyDetails: IStratusObjectDetails | { key: string; }; constructor(bucketInstance: Bucket, keyDetails: IStratusObjectDetails | string); /** * Retrieves the details of this object in the bucket. * @param versionId - Unique version identifier of the object. * If not provided, details for the latest version are fetched. * @returns {IStratusObjectDetails} The details of the object, including metadata, version information, etc. */ getDetails(versionId?: string): Promise; /** * Sets the metadata for an object. It will replace the existing metadata. * @param metaDetails - A record of metadata key-value pairs to be set for the object. * @access admin * @returns {Record} The updated object details, including the new metadata. */ putMeta(metaDetails: Record): Promise>; /** * Generates a signed URL for an object in a caching-enabled bucket. * The signed URL can be used to access the object for a specified duration. * @param url - The cached URL of the object. * @param expiry - The expiration time for the signed URL in seconds. Default 3600. * @access admin * @returns {IStratusSignedURLRes} The response containing the signed URL. */ generateCacheSignedUrl(url: string, expiry?: string): Promise; /** * Lists the versions of an object in a paginated manner. * This method can be used to retrieve a limited set of object versions at a time, with support for pagination. * @param maxVersion - The maximum number of versions to return. Default 1000. * @param nextToken - The token for the next page of results. This is used to fetch the next set of versions. * @access admin * @returns {IStratusObjectVersions} The paginated list of object versions. */ listPagedVersions(maxVersion?: string, nextToken?: string): Promise; /** * Retrieves the object versions as an iterable. This method allows iteration over object * versions without needing to handle pagination manually. * @param maxVersion - The maximum number of versions per response. Default 1000. * @access admin * @returns {AsyncGenerator} An asynchronous generator that yields the object version details. */ listIterableVersions(maxVersion?: string): AsyncGenerator; toString(): string; toJSON(): IStratusObjectDetails; }