export type BlockChainStorageOption = 'VECHAIN' | 'ETHEREUM' | 'OPTIMISM' | 'INHERITI_CHAIN';
export type PlanStorageOption = 'SAFEKEY_PRO' | 'SAFEKEY_MOBILE' | 'VAULT' | 'HSM' | BlockChainStorageOption;
export interface StorageOptionProps {
    id: PlanStorageOption;
    deviceId?: string;
    devicePassword?: string;
}
export interface StorageOptionPrimitiveProps extends StorageOptionProps {
}
export default class StorageOption {
    private props;
    constructor(props: StorageOptionProps);
    static get validBlockChainOptions(): BlockChainStorageOption[];
    get id(): PlanStorageOption;
    get isSafekey(): boolean;
    get isSafekeyMobile(): boolean;
    get isBlockchain(): boolean;
    get deviceId(): string | undefined;
    get devicePassword(): string | undefined;
    get name(): "HSM" | "SafeKey Pro" | "SafeKey Mobile" | "vechain" | "Ethereum" | "Optimism" | "Inheriti® Chain" | "Vault" | "Unknown Name";
    get isBlockChain(): boolean;
    get isVault(): boolean;
    get isMobile(): boolean;
    get isCold(): boolean;
    static fromPrimitives(props: StorageOptionPrimitiveProps): StorageOption;
    setDeviceId(id: string): void;
    setDevicePassword(password: string): void;
    toPrimitives(): StorageOptionPrimitiveProps;
}
