// Copyright 2014 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.

namespace autofill {

// These string constants are sent down from Wallet and synced cards and stored
// in the database for these masked credit cards records.
extern const char kSyncCardTypeAmex[];
extern const char kSyncCardTypeDiscover[];
extern const char kSyncCardTypeJCB[];
extern const char kSyncCardTypeMaestro[];
extern const char kSyncCardTypeMasterCard[];
extern const char kSyncCardTypeSolo[];
extern const char kSyncCardTypeSwitch[];
extern const char kSyncCardTypeUnknown[];
extern const char kSyncCardTypeVisa[];

}  // namespace autofill
