/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as Merge from "../../..";
/**
 * # The TrackingCategory Object
 * ### Description
 * A `TrackingCategory` object represents a categorization method used to classify transactions within an accounting platform. They are often used to group records for reporting and analysis purposes. The most common types of `TrackingCategories` are Classes and Departments.
 *
 * ### Usage Example
 * Fetch from the `GET TrackingCategory` endpoint and view a company's tracking category.
 */
export interface TrackingCategory {
    /** The tracking category's name. */
    name?: string;
    /**
     * The tracking category's status.
     *
     * * `ACTIVE` - ACTIVE
     * * `ARCHIVED` - ARCHIVED
     */
    status?: Merge.accounting.TrackingCategoryStatus;
    /**
     * The tracking category’s type.
     *
     * * `CLASS` - CLASS
     * * `DEPARTMENT` - DEPARTMENT
     */
    categoryType?: Merge.accounting.TrackingCategoryCategoryType;
    /** ID of the parent tracking category. */
    parentCategory?: string;
    /** The company the tracking category belongs to. */
    company?: Merge.accounting.TrackingCategoryCompany;
    /** Indicates whether or not this object has been deleted in the third party platform. */
    remoteWasDeleted?: boolean;
    id?: string;
    /** The third-party API ID of the matching object. */
    remoteId?: string;
    createdAt?: Date;
    /** This is the datetime that this object was last updated by Merge */
    modifiedAt?: Date;
    fieldMappings?: Record<string, unknown>;
    remoteData?: Merge.accounting.RemoteData[];
}
