import type { AuthStore } from '@fleek-platform/login-button';
type UserProfile = {
    userId?: string;
    username?: string;
    email?: string;
    avatar?: string;
};
interface UserStore {
    authStoreInstance?: AuthStore;
    userProfile?: UserProfile;
    setAuthStoreInstance: (authStore: AuthStore) => void;
    triggerLogin: () => void;
}
export declare const useUserStore: import("zustand").UseBoundStore<Omit<Omit<import("zustand").StoreApi<UserStore>, "setState"> & {
    setState(partial: UserStore | Partial<UserStore> | ((state: UserStore) => UserStore | Partial<UserStore>), replace?: false | undefined, action?: (string | {
        [x: string]: unknown;
        [x: number]: unknown;
        [x: symbol]: unknown;
        type: string;
    }) | undefined): void;
    setState(state: UserStore | ((state: UserStore) => UserStore), replace: true, action?: (string | {
        [x: string]: unknown;
        [x: number]: unknown;
        [x: symbol]: unknown;
        type: string;
    }) | undefined): void;
}, "persist"> & {
    persist: {
        setOptions: (options: Partial<import("zustand/middleware").PersistOptions<UserStore, unknown>>) => void;
        clearStorage: () => void;
        rehydrate: () => Promise<void> | void;
        hasHydrated: () => boolean;
        onHydrate: (fn: (state: UserStore) => void) => () => void;
        onFinishHydration: (fn: (state: UserStore) => void) => () => void;
        getOptions: () => Partial<import("zustand/middleware").PersistOptions<UserStore, unknown>>;
    };
}>;
export {};
