///
import { IDatabaseEncoding } from '../../storage';
import { MultisigKeys } from '../interfaces/multisigKeys';
import { HeadValue } from './headValue';
export declare const VIEW_KEY_LENGTH = 64;
export type EncryptedAccountValue = {
encrypted: true;
salt: Buffer;
nonce: Buffer;
data: Buffer;
};
export type DecryptedAccountValue = {
encrypted: false;
version: number;
id: string;
name: string;
spendingKey: string | null;
viewKey: string;
incomingViewKey: string;
outgoingViewKey: string;
publicAddress: string;
createdAt: HeadValue | null;
scanningEnabled: boolean;
multisigKeys?: MultisigKeys;
proofAuthorizingKey: string | null;
ledger: boolean;
};
export type AccountValue = EncryptedAccountValue | DecryptedAccountValue;
export declare class AccountValueEncoding implements IDatabaseEncoding {
serialize(value: AccountValue): Buffer;
serializeEncrypted(value: EncryptedAccountValue): Buffer;
serializeDecrypted(value: DecryptedAccountValue): Buffer;
deserialize(buffer: Buffer): AccountValue;
deserializeEncrypted(buffer: Buffer): EncryptedAccountValue;
deserializeDecrypted(buffer: Buffer): DecryptedAccountValue;
getSize(value: AccountValue): number;
getSizeEncrypted(value: EncryptedAccountValue): number;
getSizeDecrypted(value: DecryptedAccountValue): number;
}
//# sourceMappingURL=accountValue.d.ts.map