import type { Member, Myself } from '@towns-protocol/sdk'; import { type ActionConfig } from './internals/useAction'; import { type ObservableConfig } from './useObservable'; /** * Hook to get the data of the current user in a stream. * @param streamId - The id of the stream to get the current user of. * @param config - Configuration options for the observable. * @returns The MemberModel of the current user. */ export declare const useMyMember: (streamId: string, config?: ObservableConfig.FromObservable) => { id: string; userId: string; streamId: string; initialized: boolean; username: string; isUsernameConfirmed: boolean; isUsernameEncrypted: boolean; displayName: string; isDisplayNameEncrypted?: boolean; ensAddress?: string; nft?: import("@towns-protocol/sdk").NftModel; membership?: import("@towns-protocol/proto").MembershipOp; appAddress?: string; }; /** * Hook to set the ENS address of the current user in a stream. * You should be validating if the ENS address belongs to the user before setting it. * @param streamId - The id of the stream to set the ENS address of. * @param config - Configuration options for the action. * @returns The `setEnsAddress` action and its loading state. */ export declare const useSetEnsAddress: (streamId: string, config?: ActionConfig) => { data: void | undefined; error: Error | undefined; isPending: boolean; isSuccess: boolean; isError: boolean; setEnsAddress: (ensAddress: `0x${string}`) => Promise; }; /** * Hook to set the username of the current user in a stream. * @param streamId - The id of the stream to set the username of. * @param config - Configuration options for the action. * @returns The `setUsername` action and its loading state. */ export declare const useSetUsername: (streamId: string, config?: ActionConfig) => { data: void | undefined; error: Error | undefined; isPending: boolean; isSuccess: boolean; isError: boolean; setUsername: (username: string) => Promise; }; /** * Hook to set the display name of the current user in a stream. * @param streamId - The id of the stream to set the display name of. * @param config - Configuration options for the action. * @returns The `setDisplayName` action and its loading state. */ export declare const useSetDisplayName: (streamId: string, config?: ActionConfig) => { data: void | undefined; error: Error | undefined; isPending: boolean; isSuccess: boolean; isError: boolean; setDisplayName: (displayName: string) => Promise; }; /** * Hook to set the NFT of the current user in a stream. * You should be validating if the NFT belongs to the user before setting it. * @param streamId - The id of the stream to set the NFT of. * @param config - Configuration options for the action. * @returns The `setNft` action and its loading state. */ export declare const useSetNft: (streamId: string, config?: ActionConfig) => { data: void | undefined; error: Error | undefined; isPending: boolean; isSuccess: boolean; isError: boolean; setNft: (nft: import("@towns-protocol/sdk").NftModel) => Promise; }; //# sourceMappingURL=useMyMember.d.ts.map