/**
 * Changeable
 *
 * Adds a this.change() function to a component
 *
 * This.change takes prop changes as parameters, and calls
 * this.props.onChange with the modified props.
 */
import type { ChangeFn } from "../types";
/**
 * this.change()
 *
 * Can be called as follows:
 * this.change(newProps, callback);
 *
 * this.change(propName, propValue, callback);
 *
 * this.change(propName) -> returns a lambda that takes a prop value to
 * set and a callback to call after having set that value.
 *
 * TODO(LEMS-3245) remove Changeable
 *
 * @deprecated
 */
export declare const change: ChangeFn;
/**
 * TODO(LEMS-3245) remove Changeable
 *
 * @deprecated
 */
export declare const propTypes: {
    readonly onChange: any;
};
/**
 * TODO(LEMS-3245) remove Changeable
 *
 * @deprecated
 */
export type ChangeableProps = {
    onChange: (values: {
        [key: string]: any;
    }, callback?: (() => unknown) | null | undefined, silent?: boolean) => unknown;
};
