export class Option extends OptionAbstract {
    /**
     *
     * @param {string} id
     * @param {function} read
     * @param {function} [write]
     * @param {object} [settings]
     * @constructor
     */
    constructor(id: string, read: Function, write?: Function, settings?: object);
    on: {
        written: Signal<any, any, any, any, any, any, any, any>;
        writeFailed: Signal<any, any, any, any, any, any, any, any>;
        settingsUpdated: Signal<any, any, any, any, any, any, any, any>;
    };
    read: Function;
    write: (v: any) => any;
    settings: any;
    /**
     * Controls serialization. Transient options are not serialized
     * @type {boolean}
     */
    isTransient: boolean;
    /**
     *
     * @param {string} key
     * @param {number|boolean|string} value
     */
    setSetting(key: string, value: number | boolean | string): void;
    toJSON(): string | number | boolean;
    fromJSON(json: any): void;
}
import { OptionAbstract } from "./OptionAbstract.js";
import Signal from "../../core/events/signal/Signal.js";
//# sourceMappingURL=Option.d.ts.map