import { ReactElement } from 'react';
import { Input } from '../input';
import { state } from '../state';
import { TextProps } from './Text';
export type EditableProps = Omit<TextProps<"p">, "children" | "onChange"> & Input.Control<string> & {
    useEditableState?: state.PureUse<boolean>;
    allowDoubleClick?: boolean;
    allowEmpty?: boolean;
    outline?: boolean;
};
export declare const edit: (id: string, onChange?: (value: string, renamed: boolean) => void) => void;
export declare const asyncEdit: (id: string) => Promise<[string, boolean]>;
export declare const Editable: ({ onChange, value, className, useEditableState, allowDoubleClick, onDoubleClick, allowEmpty, style, outline, ...rest }: EditableProps) => ReactElement;
export type MaybeEditableProps = Omit<EditableProps, "onChange"> & {
    onChange?: EditableProps["onChange"] | boolean;
    disabled?: boolean;
};
export declare const MaybeEditable: ({ onChange, disabled, value, allowDoubleClick, ...rest }: MaybeEditableProps) => ReactElement;
//# sourceMappingURL=Editable.d.ts.map