import type { SpatialReferenceJson } from "./SpatialReferenceJson.js";
/**
 * An item (a unit of content) in the portal. Each item has a unique identifier
 * and a well known URL that is independent of the user owning the item. An item
 * can have associated binary or textual data that's available via the item data
 * resource. For example, an item of type Map Package returns the actual bits
 * corresponding to the map package via the item data resource. The numViews is
 * incremented when an item is opened.
 *
 * See
 * {@link http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#/Item/02r30000007w000000/}.
 */
export interface ItemJson {
    /**
     * The unique ID for this item.
     */
    id: string;
    /**
     * An array of organization categories that are set on the item.
     */
    categories?: string[] | null;
    /**
     * The username of the user who owns this item.
     */
    owner?: string | null;
    /**
     * A JSON object that primarily applies to system requirements, Terms and
     * Conditions, version, supported platforms, YouTube video ID, etc
     * associated with the application.
     */
    properties?: string | null;
    /**
     * An array that primarily applies to a list of categories that the
     * application item is applicable to.
     */
    appCategories?: string[] | null;
    /**
     * The date the item was created. Shown in UNIX time in milliseconds.
     */
    created?: number | null;
    /**
     * The date the item was last modified. Shown in UNIX time in milliseconds.
     */
    modified?: number | null;
    /**
     * The file name of the item for file types. Read-only.
     */
    name?: string | null;
    /**
     * The title of the item. This is the name that's displayed to users and by
     * which they refer to the item. Every item must have a title.
     */
    title?: string | null;
    /**
     * The URL for the resource represented by the item. Applies only to items
     * that represent web-accessible resources such as map services.
     */
    url?: string | null;
    /**
     * A JSON object used to restrict service item response results based on
     * specified filter, i.e. limit results returned from a geocode service
     * based on defined filters.See serviceProxyFilter for object details.
     */
    proxyFilter?: Record<string, unknown> | null;
    /**
     * The GIS content type of this item. Example types include Web Map, Map
     * Service, Shapefile, and Web Mapping Application. See
     * {@link http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#//02r3000000ms000000}.
     */
    type?: string | null;
    /**
     * A set of keywords that further describes the type of this item. Each item
     * is tagged with a set of type keywords that are derived based on its
     * primary type.
     */
    typeKeywords?: string[] | null;
    /**
     * Item description.
     */
    description?: string | null;
    /**
     * User defined tags that describe the item.
     */
    tags?: string[] | null;
    /**
     * A short summary description of the item.
     */
    snippet?: string | null;
    /**
     * The URL to the thumbnail used for the item.
     */
    thumbnail?: string | null;
    /**
     * The bounding rectangle of the item. Should always be in WGS84.
     */
    extent?: number[][] | null;
    /**
     * The coordinate system of the item.
     */
    spatialReference?: SpatialReferenceJson | null;
    /**
     * Information on the source of the item and its copyright status.
     */
    accessInformation?: string | null;
    /**
     * Any license information or restrictions.
     */
    licenseInfo?: string | null;
    /**
     * The item locale information (language and country).
     */
    culture?: string | null;
    /**
     * Indicates the level of access to this item: private, shared, org, or
     * public.
     */
    access?: string | null;
    /**
     * Primarily applies to industries associated with the application.
     */
    industries?: string[] | null;
    /**
     * Indicates user's control to the item.
     *
     * Values: admin (for item owner and org admin) | update (for members of
     * groups with item update capability that the item is shared with).
     */
    itemControl?: "admin" | "update" | null;
    /**
     * Primarily applies to languages associated with the application.
     */
    languages?: string[] | null;
    /**
     * Primarily applies to thumbnails associated with an application. The URL
     * to the thumbnail used for the application.
     */
    largeThumbnail?: string | null;
    /**
     * Primarily applies to the banner associated with an application. The URL
     * to the banner used for the application.
     */
    banner?: string | null;
    /**
     * Primarily applies to screenshots associated with an application. The URL
     * to the screenshots used for the application.
     */
    screenshots?: string[] | null;
    /**
     * Primarily applies to the banner associated with an application. The URL
     * to the banner used for the application.
     */
    listed?: boolean | null;
    /**
     * The ID of the folder in which the owner has stored the item. The property
     * is only returned to the item owner or the org admin.
     */
    ownerFolder?: string | null;
    /**
     * The size of the item.
     */
    size?: number | null;
    /**
     * Protects the item from deletion. False is the default.
     */
    protected?: boolean | null;
    /**
     * Indicates if comments are allowed on the item.
     */
    commentsEnabled?: boolean | null;
    /**
     * Number of comments on the item.
     */
    numComments?: number | null;
    /**
     * Number of ratings on the item.
     */
    numRatings?: number | null;
    /**
     * Average rating. Uses a weighted average called "Bayesian average.".
     */
    avgRating?: number | null;
    /**
     * Number of views of the item.
     */
    numViews?: number | null;
    /**
     * Item information completeness score based upon item snippet, thumbnail,
     * description, title, tags etc.
     */
    scoreCompleteness?: number | null;
    /**
     * The date/time the item was last accessed in UNIX format (in
     * milliseconds).
     */
    lastViewed?: number | null;
    /**
     * <not in spec>.
     */
    orgId?: string | null;
    /**
     * <not in spec>.
     */
    isOrgItem?: boolean | null;
    /**
     * <not in spec>.
     */
    guid?: string | null;
    /**
     * <not in spec>.
     */
    documentation?: unknown | null;
    /**
     * <not in spec>.
     */
    advancedSettings?: unknown | null;
    /**
     * <not in spec>.
     */
    subInfo?: number | null;
    /**
     * <not in spec>.
     */
    groupDesignations?: unknown | null;
    /**
     * <not in spec>.
     */
    contentOrigin?: string | null;
}
