import type { AgComponentSelector } from '../interfaces/agComponent';
import type { AgCoreBeanCollection } from '../interfaces/agCoreBeanCollection';
import type { BaseEvents } from '../interfaces/baseEvents';
import type { BaseProperties } from '../interfaces/baseProperties';
import type { IPropertiesService } from '../interfaces/iProperties';
import type { AgAbstractFieldEvent } from './agAbstractField';
import { AgAbstractField } from './agAbstractField';
import type { AgFieldParams } from './agFieldParams';
import type { AgWidgetSelectorType } from './agWidgetSelectorType';
type AgContentEditableFieldEvent = AgAbstractFieldEvent;
interface AgContentEditableFieldParams extends AgFieldParams {
    className?: string;
    contentEditable?: boolean | 'plaintext-only';
    ariaRole?: string;
    renderValueToElement?: boolean;
}
export declare class AgContentEditableField<TBeanCollection extends AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends BaseProperties, TGlobalEvents extends BaseEvents, TCommon, TPropertiesService extends IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string, TValue, TConfig extends AgContentEditableFieldParams = AgContentEditableFieldParams, TEventType extends string = AgContentEditableFieldEvent> extends AgAbstractField<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, TValue, TConfig, TEventType | AgContentEditableFieldEvent> {
    protected readonly eLabel: HTMLElement;
    protected readonly eWrapper: HTMLElement;
    private renderValueToElement;
    constructor(config?: TConfig);
    postConstruct(): void;
    protected setupAria(): void;
    protected setupEditable(): void;
    setValue(value?: TValue | null, silent?: boolean): this;
    setRenderValueToElement(render: boolean): void;
    setDisplayedValue(value?: string | null): void;
    getContentElement(): HTMLElement;
    private refreshDisplayedValue;
    private syncValueFromDom;
    getFocusableElement(): HTMLElement;
}
export declare const AgContentEditableFieldSelector: AgComponentSelector<AgWidgetSelectorType>;
export {};
