import PopupTemplate from "@arcgis/core/PopupTemplate";
import type Collection from "@arcgis/core/core/Collection";
import type FeatureLayer from "@arcgis/core/layers/FeatureLayer";
import type Field from "@arcgis/core/layers/support/Field";
import PortalItem from "@arcgis/core/portal/PortalItem";
import type { EntityBaseProperties } from "../Entity.js";
import type { Table as EsriTable } from "../portal/Table.js";
import type { FieldProperties, PopupTemplateProperties, PortalItemProperties } from "../support/esri.js";
/**
 * !! LEGACY CODE DO NOT USE OR MODIFY !!
 */
/**
 * Web map representation of a table.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface TableProperties extends EntityBaseProperties {
    /**
     * The name of the table.
     */
    name?: string;
    /**
     * The human readable name of the table.
     */
    title?: string;
    /**
     * The name of a field that provides a unique identifier for a feature.
     */
    objectIdField?: string;
    /**
     * The description of the table.
     */
    description?: string;
    /**
     * The url of the table.
     */
    url?: string;
    /**
     * The portal item reference for the table.
     */
    portalItem?: PortalItem | PortalItemProperties;
    /**
     * The popup template for table.
     */
    popupTemplate?: PopupTemplate | PopupTemplateProperties;
    /**
     * The fields in the table.
     */
    fields?: Collection<Field> | Field[] | FieldProperties[];
}
/**
 * Creates an Esri Table Layer object from the given Portal table JSON.
 *
 * @deprecated Use "json/*" modules instead.
 * @param tableJson The JSON to apply.
 */
export declare function toEsriApiTable(tableJson: EsriTable): Promise<FeatureLayer>;
/**
 * Applies Portal table JSON properties to a Esri table FeatureLayer.
 *
 * @deprecated Use "json/*" modules instead.
 * @param tableJson The JSON to apply.
 * @param table The table to update.
 */
export declare function applyToEsriTable(tableJson: EsriTable, table: FeatureLayer): Promise<void>;
/**
 * Take an esri Table FeatureLayer object and return the Portal table JSON.
 *
 * @deprecated Use "json/*" modules instead.
 * @param table Geocortex table.
 * @returns Portal table JSON.
 */
export declare function fromEsriTable(table: FeatureLayer): EsriTable;
