import type { PropertyDefs } from "../support/Serializable.js";
import { Settings, type SettingsEvents } from "../support/Settings.js";
/**
 * Properties that can be passed into the constructor for
 * {@link data/TaskSettings!TaskSettings}.
 */
export interface TaskSettingsProperties {
    /**
     * See {@link data/TaskSettings!TaskSettings.enableExport}.
     */
    enableExport?: boolean;
    /**
     * See {@link data/TaskSettings!TaskSettings.enableIdentify}.
     */
    enableIdentify?: boolean;
    /**
     * See {@link data/TaskSettings!TaskSettings.enableQuery}.
     */
    enableQuery?: boolean;
    /**
     * See {@link data/TaskSettings!TaskSettings.enableSearch}.
     */
    enableSearch?: boolean;
    /**
     * See {@link data/TaskSettings!TaskSettings.enableAdd}.
     */
    enableAdd?: boolean;
    /**
     * See {@link data/TaskSettings!TaskSettings.enableUpdate}.
     */
    enableUpdate?: boolean;
    /**
     * See {@link data/TaskSettings!TaskSettings.enableDelete}.
     */
    enableDelete?: boolean;
    /**
     * See {@link data/TaskSettings!TaskSettings.enableEditing}.
     */
    enableEditing?: boolean;
    /**
     * See {@link data/TaskSettings!TaskSettings.studioSearchSubindexId}.
     */
    studioSearchSubindexId?: string;
}
/**
 * Settings that affect whether a feature source participates in common tasks
 * that are performed on a map.
 */
export declare class TaskSettings extends Settings<TaskSettingsProperties> {
    /**
     * @deprecated Do not directly reference this property. Use EventNames and
     *   EventTypes helpers from @arcgis/core/Evented.
     */
    "@eventTypes": SettingsEvents<TaskSettings>;
    /**
     * Determines whether the feature source is included when exporting the map.
     * True by default.
     */
    get enableExport(): boolean;
    set enableExport(value: boolean);
    /**
     * Determines whether the feature source is included when performing an
     * identify operation on the map. True by default.
     */
    get enableIdentify(): boolean;
    set enableIdentify(value: boolean);
    /**
     * Determines whether the feature source should be available for querying in
     * a query tool. True by default.
     */
    get enableQuery(): boolean;
    set enableQuery(value: boolean);
    /**
     * Determines whether the feature source is searched by default when
     * searching a map. True by default.
     */
    get enableSearch(): boolean;
    set enableSearch(value: boolean);
    /**
     * Determines whether the feature source supports adding features. True by
     * default.
     */
    get enableAdd(): boolean;
    set enableAdd(value: boolean);
    /**
     * Determines whether the feature source supports updating features. True by
     * default.
     */
    get enableUpdate(): boolean;
    set enableUpdate(value: boolean);
    /**
     * Determines whether the feature source supports deleting features. True by
     * default.
     */
    get enableDelete(): boolean;
    set enableDelete(value: boolean);
    /**
     * Determines whether the feature source supports editing features. True by
     * default. Setting this to false will disable adding, updating, and
     * deleting features, regardless of the values of {@link enableAdd},
     * {@link enableUpdate}, and {@link enableDelete}.
     */
    get enableEditing(): boolean;
    set enableEditing(value: boolean);
    /**
     * Saves the value of the subindex ID that is received back from Studio
     * Search backend when the new layer/subindex is added to the Studio Search
     * App Configuration. Things to note:
     *
     * - This setting requires enableSearch to be set to true in order to have any
     *   effect.
     * - By enabling this setting a new search index will be created in VertiGIS
     *   Studio Search Designer.
     * - Note that not all sources support VertiGIS Studio Search.
     * - Empty by default.
     */
    get studioSearchSubindexId(): string;
    set studioSearchSubindexId(value: string);
    protected _getSerializableProperties(): PropertyDefs<TaskSettingsProperties>;
}
