import type { StoreApi } from 'zustand';
import type { UseBoundStoreWithEqualityFn } from 'zustand/traditional';
import type { ToAddress } from '../../types/widget.js';
export interface Bookmark extends ToAddress {
    isConnectedAccount?: boolean;
}
export interface BookmarkProps {
    selectedBookmark?: Bookmark;
    bookmarks: Bookmark[];
    recentWallets: Bookmark[];
}
export interface BookmarkActions {
    getBookmark: (address: string) => Bookmark | undefined;
    addBookmark: (bookmark: Bookmark) => void;
    removeBookmark: (address: string) => void;
    setSelectedBookmark: (bookmark?: Bookmark) => void;
    getSelectedBookmark: () => Bookmark | undefined;
    addRecentWallet: (bookmark: Bookmark) => void;
    removeRecentWallet: (address: string) => void;
}
export type BookmarkState = BookmarkProps & BookmarkActions;
export type BookmarkStore = UseBoundStoreWithEqualityFn<StoreApi<BookmarkState>>;
