/** @packageDocumentation
 * @module Widget
 */
import type * as React from "react";
import type { ConfigurableCreateInfo } from "../configurableui/ConfigurableUiControl";
import { ConfigurableUiControl, ConfigurableUiControlType } from "../configurableui/ConfigurableUiControl";
import type { WidgetDef } from "./WidgetDef";
import type { WidgetState } from "./WidgetState";
/** The base class for Widget controls.
 * @public
 */
export declare class WidgetControl extends ConfigurableUiControl {
    private _widgetDef;
    private _reactNode;
    constructor(info: ConfigurableCreateInfo, options: any);
    /** The ReactNode associated with this control */
    get reactNode(): React.ReactNode;
    set reactNode(r: React.ReactNode);
    /** The [[WidgetDef]] associated with this control */
    get widgetDef(): WidgetDef;
    set widgetDef(w: WidgetDef);
    /** Gets the type of ConfigurableUiControl, which is 'Widget' in this case */
    getType(): ConfigurableUiControlType;
    /** Sets the [[WidgetState]] for this control */
    setWidgetState(state: WidgetState): void;
    /** Called when widget state changes. */
    onWidgetStateChanged(): void;
    /** Overwrite to save transient DOM state (i.e. scroll offset). */
    saveTransientState(): void;
    /** Overwrite to restore transient DOM state.
     * @note Return true if the state is restored or the Widget will remount.
     */
    restoreTransientState(): boolean;
}
//# sourceMappingURL=WidgetControl.d.ts.map