import { Component } from 'react'; import type { IconButtonProps } from '@instructure/ui-buttons/latest'; import type { InPlaceEditProps } from './props'; import type { EditableRenderProps } from '../../Editable/v1/props'; /** --- category: components --- **/ declare class InPlaceEdit extends Component { static displayName: string; static readonly componentId = "InPlaceEdit"; static allowedProps: readonly (keyof { renderViewer: () => React.ReactNode; renderEditor: (data: { onBlur: () => void; editorRef: (el: HTMLElement | null) => void; }) => React.ReactNode; renderEditButton: (props: { elementRef?: (el: HTMLButtonElement) => void; onClick: () => void; onFocus: () => void; onBlur: () => void; isVisible: boolean; readOnly?: boolean; }) => React.ReactNode | null; mode: "view" | "edit"; onChangeMode: import("../../exports/b.js").EditableProps["onChangeMode"]; value?: any; onChange?: import("../../exports/b.js").EditableProps["onChange"]; readOnly?: boolean; showFocusRing?: boolean; editButtonPlacement?: "start" | "end"; inline?: boolean; })[]; static defaultProps: { readOnly: boolean; showFocusRing: boolean; inline: boolean; editButtonPlacement: string; }; ref: Element | null; _editButtonRef: HTMLButtonElement | null; handleRef: (el: Element | null) => void; constructor(props: InPlaceEditProps); componentDidMount(): void; componentDidUpdate(): void; handleEditButtonRef: (el: HTMLButtonElement) => void; renderEditor({ mode, onBlur, editorRef, readOnly }: ReturnType): import("@emotion/react/jsx-runtime").JSX.Element | null; renderViewer({ readOnly, mode }: ReturnType): import("react").ReactNode; renderEditButton({ buttonRef, ...rest }: ReturnType): import("react").ReactNode; static renderDefaultEditButton: ({ isVisible, readOnly, label, ...buttonProps }: { isVisible: boolean; readOnly?: boolean; label: string; } & Partial) => import("@emotion/react/jsx-runtime").JSX.Element | null; renderAll: ({ getContainerProps, getViewerProps, getEditorProps, getEditButtonProps }: EditableRenderProps) => import("@emotion/react/jsx-runtime").JSX.Element; render(): import("@emotion/react/jsx-runtime").JSX.Element; } export default InPlaceEdit; export { InPlaceEdit }; //# sourceMappingURL=index.d.ts.map