/** @packageDocumentation
 * @module Dialog
 */
import { PropertyDescription } from "../properties/Description";
/** [[DialogItemValue]] Interface of PrimitiveValue types that have type editor support for use in dialogs.
 * @public
 */
export interface DialogItemValue {
    value?: number | string | boolean | Date;
    displayValue?: string;
}
/** [[EditorPosition]] Interface used to identify the location of the item a DialogItem property value.
 * @public
 */
export interface EditorPosition {
    /** Determine the order the row is shown in UI */
    rowPriority: number;
    /** Determines the column position for the type editor */
    columnIndex: number;
}
/** [[BaseDialogItem]] contains only the members necessary to create a PropertyRecord.
 * @public
 */
export interface BaseDialogItem {
    readonly value: DialogItemValue;
    readonly property: PropertyDescription;
    readonly isDisabled?: boolean;
}
/** [[DialogItem]] is the specification that the display engine turns into a UI item.
 * @public
 */
export interface DialogItem extends BaseDialogItem {
    readonly editorPosition: EditorPosition;
    readonly lockProperty?: BaseDialogItem;
}
/** [[DialogPropertyItem]] is the specification to use if you are defining the components directly, e.g., in React
 * @public
 */
export interface DialogPropertyItem {
    readonly value: DialogItemValue;
    readonly propertyName: string;
}
/** [[DialogPropertySyncItem]] is used to pass sync messages for DialogPropertyItems
 * @public
 */
export interface DialogPropertySyncItem extends DialogPropertyItem {
    readonly isDisabled?: boolean;
    readonly property?: PropertyDescription;
}
/** [[DialogProperty]] is a generic helper class that assists working with properties used by UiLayoutDataProvider implementations (i.e. Tool Settings and Dynamic Dialogs).
 * @public
 */
export declare class DialogProperty<T> {
    description: PropertyDescription;
    private _value;
    private _displayValue?;
    private _isDisabled?;
    constructor(description: PropertyDescription, _value: T, _displayValue?: string | undefined, _isDisabled?: boolean | undefined);
    get isDisabled(): boolean;
    set isDisabled(val: boolean);
    get value(): T;
    set value(val: T);
    get name(): string;
    set displayValue(val: string | undefined);
    get displayValue(): string | undefined;
    get dialogItemValue(): DialogItemValue;
    set dialogItemValue(val: DialogItemValue);
    get syncItem(): DialogPropertySyncItem;
    get item(): DialogPropertyItem;
    toDialogItem(editorPosition: EditorPosition, lockProperty?: DialogItem): DialogItem;
}
//# sourceMappingURL=DialogItem.d.ts.map