/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 */
import type { LexicalEditor } from 'lexical';
import * as React from 'react';
/**
 * Props for the {@link ContentEditableElement} component. In addition to an
 * `editor`, it accepts the standard `<div>` HTML attributes (except
 * `placeholder`), including the hyphenated `aria-*` attributes, which are the
 * preferred way to set ARIA properties. The camelCase `aria*` props (such as
 * `ariaLabel`) are also accepted but are retained only for backwards
 * compatibility.
 */
export type ContentEditableElementProps = {
    editor: LexicalEditor;
    ariaActiveDescendant?: React.AriaAttributes['aria-activedescendant'];
    ariaAutoComplete?: React.AriaAttributes['aria-autocomplete'];
    ariaControls?: React.AriaAttributes['aria-controls'];
    ariaDescribedBy?: React.AriaAttributes['aria-describedby'];
    ariaErrorMessage?: React.AriaAttributes['aria-errormessage'];
    ariaExpanded?: React.AriaAttributes['aria-expanded'];
    ariaInvalid?: React.AriaAttributes['aria-invalid'];
    ariaLabel?: React.AriaAttributes['aria-label'];
    ariaLabelledBy?: React.AriaAttributes['aria-labelledby'];
    ariaMultiline?: React.AriaAttributes['aria-multiline'];
    ariaOwns?: React.AriaAttributes['aria-owns'];
    ariaRequired?: React.AriaAttributes['aria-required'];
    autoCapitalize?: HTMLDivElement['autocapitalize'];
    'data-testid'?: string | null | undefined;
} & Omit<React.AllHTMLAttributes<HTMLDivElement>, 'placeholder'>;
/**
 * A lower-level building block for the editor's editable `<div>`. It binds the
 * given `editor` to the rendered element via
 * {@link LexicalEditor.setRootElement}, reflects the editor's editable state on
 * the `contentEditable` attribute, and applies the provided ARIA and HTML
 * attributes. Prefer {@link ContentEditable}, which reads the editor from
 * context and adds placeholder support, unless you need this extra control.
 */
export declare const ContentEditableElement: React.ForwardRefExoticComponent<{
    editor: LexicalEditor;
    ariaActiveDescendant?: React.AriaAttributes["aria-activedescendant"];
    ariaAutoComplete?: React.AriaAttributes["aria-autocomplete"];
    ariaControls?: React.AriaAttributes["aria-controls"];
    ariaDescribedBy?: React.AriaAttributes["aria-describedby"];
    ariaErrorMessage?: React.AriaAttributes["aria-errormessage"];
    ariaExpanded?: React.AriaAttributes["aria-expanded"];
    ariaInvalid?: React.AriaAttributes["aria-invalid"];
    ariaLabel?: React.AriaAttributes["aria-label"];
    ariaLabelledBy?: React.AriaAttributes["aria-labelledby"];
    ariaMultiline?: React.AriaAttributes["aria-multiline"];
    ariaOwns?: React.AriaAttributes["aria-owns"];
    ariaRequired?: React.AriaAttributes["aria-required"];
    autoCapitalize?: HTMLDivElement["autocapitalize"];
    'data-testid'?: string | null | undefined;
} & Omit<React.AllHTMLAttributes<HTMLDivElement>, "placeholder"> & React.RefAttributes<HTMLDivElement>>;
