import { Contact } from './contacts.types';
export declare enum MemberRole {
    OWNER = "Owner",
    MEMBER = "Member"
}
export interface InvitedMemberInterface {
    email: string;
    username?: string;
}
export interface InvitedMember {
    email: string;
    invitedAt: Date;
    username: string;
}
export interface AccountMemberInterface {
    email: string;
    role: MemberRole;
    username: string;
    providerUserId: string;
    profileImage?: string;
}
export interface AccountMember {
    email: string;
    role: MemberRole;
    username: string;
    providerUserId: string;
    profileImage?: string;
    updatedAt: Date;
    createdAt: Date;
}
export interface DashboardAccountInterface {
    contacts: Contact[];
    accessToken: string;
    refreshToken: string;
    updatedAt: Date;
    createdAt: Date;
    organizationName?: string;
    defaultDeliveryMethod?: DeliveryMethod;
    defaultNetworkChainId?: number;
    organizationEmail?: string;
    organizationImage?: string;
    ethereumAddress?: string;
    members?: AccountMember[];
    invitedMembers?: InvitedMember[];
    notifications?: {
        payoutApprovalRequested: boolean;
        largePayoutAlerts: boolean;
        balanceLowWarning: boolean;
    };
    encryptedEvmBalances?: string;
    encryptedSolanaBalances?: string;
    encryptedTronBalances?: string;
    balancesUpdatedAt?: Date;
    id: string;
}
export interface DashboardDbBalance {
    balance: string;
    chainId: number;
    erc20TokenAddress: string;
}
interface DashboardAccountBase {
    contacts: Contact[];
    members?: AccountMember[];
    invitedMembers?: InvitedMember[];
    organizationName?: string;
    defaultDeliveryMethod?: DeliveryMethod;
    defaultNetworkChainId?: number;
    organizationEmail?: string;
    organizationImage?: string;
    ethereumAddress?: string;
    tronAddress?: string;
    solanaAddress?: string;
    notifications?: {
        payoutApprovalRequested: boolean;
        largePayoutAlerts: boolean;
        balanceLowWarning: boolean;
    };
    encryptedEvmBalances?: string;
    encryptedSolanaBalances?: string;
    encryptedTronBalances?: string;
    id: string;
}
export interface DeserializedEncryptedBalances {
    privateBalances: DashboardDbBalance[];
    publicBalances: DashboardDbBalance[];
}
export interface DashboardAccount extends DashboardAccountBase {
    balancesUpdatedAt?: Date;
    updatedAt: Date;
    createdAt: Date;
}
export interface DashboardAccountClient extends DashboardAccountBase {
    balancesUpdatedAt?: string;
    updatedAt: string;
    createdAt: string;
}
export declare enum DeliveryMethod {
    CONFIDENTIAL = "Confidential Settlement",
    DIRECT = "Direct to wallet"
}
export {};
