import { VNode } from 'snabbdom'; export interface ISettings { readonly name: string; value: T; update(): void; view(): VNode; } declare abstract class Settings implements ISettings { readonly name: string; protected _value: T; constructor(name: string); get value(): T; set value(value: T); abstract update(): void; abstract view(): VNode; } export declare abstract class StringSettings extends Settings { constructor(name: string, defaultValue: string); } export declare abstract class NumberSettings extends Settings { constructor(name: string, defaultValue: number); } export declare abstract class BooleanSettings extends Settings { constructor(name: string, defaultValue: boolean); } export {};