@etherna/sdk-js
Version:
Etherna SDKs for operations on the network
46 lines • 1.95 kB
TypeScript
import { MantarayNode } from "../../handlers/mantaray";
import type { BatchId, BeeClient, Reference } from "../../clients";
import type { ImageType } from "../../schemas/image";
import type { ProfileDetails, ProfileDetailsRaw, ProfilePreview, ProfilePreviewRaw, SerializedProfileBuilder } from "../../schemas/profile";
interface ProfileBuilderRequestOptions {
beeClient: BeeClient;
batchId?: BatchId;
signal?: AbortSignal;
}
export declare const PROFILE_PREVIEW_META_PATH = "preview";
export declare const PROFILE_DETAILS_META_PATH = "details";
export declare class ProfileBuilder {
reference: Reference;
previewMeta: ProfilePreviewRaw;
detailsMeta: ProfileDetailsRaw;
node: MantarayNode;
private queue;
constructor();
static Immerable: typeof ProfileBuilder;
static unimmerable(instance: ProfileBuilder): ProfileBuilder;
initialize(reference: Reference, previewMeta: ProfilePreview, detailsMeta?: ProfileDetails): void;
loadNode(opts: ProfileBuilderRequestOptions): Promise<void>;
saveNode(opts: ProfileBuilderRequestOptions): Promise<Reference>;
updateName(name: string): void;
updateBatchId(batchId: BatchId): void;
updateDescription(description: string): void;
updateBirthday(birthday: string): void;
updateWebsite(website: string): void;
updateLocation(location: string): void;
addAvatarSource(data: Uint8Array, width: number, type: ImageType): void;
addCoverSource(data: Uint8Array, width: number, type: ImageType): void;
removeAvatar(): void;
removeCover(): void;
addPlaylist(rootManifest: Reference): void;
removePlaylist(rootManifest: Reference): void;
serialize(): SerializedProfileBuilder;
deserialize(value: unknown): void;
private enqueueData;
private addImageSource;
private getImagePath;
private getAvatarPath;
private getCoverPath;
private updateNode;
}
export {};
//# sourceMappingURL=builder.d.ts.map