import { AuthApiTransports } from "../../../shared/transports.js"; import { PolyesterMutationOptions, PolyesterRequestOptions } from "../../../shared/request-options.js"; import { PolyesterRealtime } from "../../../realtime/types.js"; import "../../../realtime/index.js"; import { BaseSubscribeInput } from "../../../shared/types.js"; import { AccountIdentity, ClaimGeneratedUsernameInputSchema, GeneratedUsernameOffer, Profile, UpdateProfileInputSchema, UsernameHistoryEntry } from "./profile.schemas.js"; import * as v from "valibot"; //#region src/services/auth/profile/profile.d.ts interface SubscribeIdentityInput extends BaseSubscribeInput {} /** * Manages the authenticated account's public profile and realtime identity updates. */ declare class ProfileService { #private; constructor(transports: AuthApiTransports, realtime: PolyesterRealtime); /** * Fetches the caller's public profile, including username eligibility/cooldown, verified social handles, avatar, VIP tier, and account creation timestamp. */ get(options?: PolyesterRequestOptions): Promise; /** * Updates only the provided mutable profile fields; omitted fields are unchanged, while present empty strings clear optional text fields such as bio, website, Twitter, and avatar URL. */ update(input: v.InferInput, options?: PolyesterMutationOptions): Promise; /** * Returns the caller's recent username changes, newest first, capped at 20 entries. */ getUsernameHistory(options?: PolyesterRequestOptions): Promise; /** * Returns five generated username options and the short-lived offer token required to claim one of them. */ generateUsernameOptions(options?: PolyesterRequestOptions): Promise; /** * Claims one username from a generated offer by its zero-based option index. */ claimGeneratedUsername(input: v.InferInput, options?: PolyesterMutationOptions): Promise; /** * Subscribes to public identity updates and emits normalized account identity records with base58 account IDs, username, avatar URL, and root smart-account address. */ subscribeIdentity(input: SubscribeIdentityInput): () => void; } //#endregion export { ProfileService }; //# sourceMappingURL=profile.d.ts.map