import { SetPropertyCommand } from "./commands/SetPropertyCommand";
export type InspectorEditableValue = number | string | boolean;
export interface InspectorProperty {
    readonly path: readonly string[];
    readonly type: "number" | "string" | "boolean" | "object";
    readonly value: unknown;
    readonly editable: boolean;
}
export declare class InspectorModel {
    describe(target: object): readonly InspectorProperty[];
    createSetPropertyCommand<T extends object>(target: T, path: readonly string[], value: InspectorEditableValue): SetPropertyCommand<T>;
    private describeObject;
    private propertyType;
    private assertValueMatchesProperty;
}
//# sourceMappingURL=InspectorModel.d.ts.map