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

#ifndef CONSTANTS_FORM_FIELDS_H_
#define CONSTANTS_FORM_FIELDS_H_

namespace pdfium {
namespace form_fields {

extern const char kFT[];
extern const char kParent[];
extern const char kKids[];
extern const char kT[];
extern const char kTU[];
extern const char kTM[];
extern const char kFf[];
extern const char kV[];
extern const char kDV[];
extern const char kAA[];

extern const char kBtn[];
extern const char kTx[];
extern const char kCh[];
extern const char kSig[];

}  // namespace form_fields
}  // namespace pdfium

#endif  // CONSTANTS_FORM_FIELDS_H_
