/// <reference types="../../index.d.ts" />
import { PropertyValues } from 'lit';
import { JsxNode, PublicLitElement as LitElement, TargetedEvent } from '@arcgis/lumina';
import { ApiCategory } from '@arcgis/languages-api-utils';
import { EditorProfile } from '../../utils/profile/editor-profile';
import { IPredefinedProfile } from '../../utils/profile/types';

/**
 * @internal
 */
export declare class ArcgisSqlExpressionEditor extends LitElement {
    /**
     * The profile to use for the editor. The profile defines the variables and functions that are available to the editor.
     * @example
     * ```jsx
     * <arcgis-sql-expression-editor profile={id: "field-calculation", definitions: { $layer: layer }}></arcgis-sql-expression-editor>
     * ```
     */
    profile: IPredefinedProfile | undefined;
    /**
     * The sql expression script. Use this property to define or update the script.
     * @example
     * ```html
     * <arcgis-sql-expression-editor script="CAST(2.45 AS INTEGER)"></arcgis-sql-expression-editor>
     * ```
     */
    script: string;
    /**
     * If true, it will hide the side actions bar. The editor will be in a minimalistic UX.
     * @example
     * ```html
     *  <arcgis-sql-expression-editor hideSideBar></arcgis-sql-expression-editor>
     * ```
     */
    hideSideBar: boolean;
    /** Emitted when the script string has changed. */
    readonly arcgisScriptChange: TargetedEvent<this, string>;
}
