import { UserToken } from '../components/public/TokenManager/types.js';

type DbTokenPrice = {
    id: string;
    created_at: string;
    price: number;
    updated_at: string;
};
type DbWalletAlias = {
    address: string;
    user_id: string;
    alias: string;
    created_at: string;
    updated_at: string;
};
interface DBAdapterBase {
    getTokens(): Promise<UserToken[]>;
    addToken(token: UserToken): Promise<void>;
    updateToken(token: UserToken): Promise<void>;
    removeToken(address: string): Promise<void>;
    getTokenPrice(tokenId: string): Promise<DbTokenPrice>;
    saveTokenPrice(tokenId: string, price: number): Promise<void>;
    getUserWalletAliases(): Promise<DbWalletAlias[]>;
    upsertWalletAlias(alias: string, address: string): Promise<void>;
}

export { DBAdapterBase, DbTokenPrice, DbWalletAlias };
