// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

include "auth_block_state.fbs";

namespace cryptohome;

// Metadata for a `PASSWORD` auth factor.
table SerializedPasswordMetadata {}

// Metadata for a `PIN` auth factor.
table SerializedPinMetadata {}

// Union that holds auth factor's metadata.
union SerializedAuthFactorMetadata { SerializedPasswordMetadata, SerializedPinMetadata }

// Container that stores information about auth factor to be persisted on disk.
table SerializedAuthFactor {
  auth_block_state:_serialized_.AuthBlockState (id: 0);
  metadata:SerializedAuthFactorMetadata (id: 2);
}

root_type SerializedAuthFactor;
