import { Folder } from './Folder'; import { Field, FieldType, CheckboxField, DropdownField, NumberField, ButtonField } from './Field'; export declare class Tunable { /** * Initialize server at port number * This method is optional but can be used to start a server * at a non-default port, it has to be called before any other * method here. * @param {number} port Server port */ static initializeServer(port: any): void; /** * Stops both the web and websocket servers */ static close(): void; /** * Gets or starts the server, and then gets or creates a folder * with the requested name * @param name * @returns {Folder} */ static getFolder(name?: string): Folder; /** * Creates or gets the already created string field for name * @param {string} name * @param {string} [initial=''] * @param {string} [folderName=''] Name of GUI folder to use (empty by default) * @returns {StringField} */ static getStringField(name: string, initial?: string, folderName?: string): Field; /** * Creates or gets the already created dropdown field for name * @param {string} name * @param {string[]} options * @param {number} [initialIndex=0] * @param {string} [folderName=''] Name of GUI folder to use (empty by default) * @returns {DropdownField} */ static getDropdownField(name: string, options: string[], initialIndex?: number, folderName?: string): DropdownField; /** * Creates (or gets the already created) checkbox field for name * @param {string} name * @param {boolean} [initial=false] * @param {string} [folderName=''] Name of GUI folder to use (empty by default) * @returns {CheckboxField} */ static getCheckboxField(name: string, initial?: boolean, folderName?: string): CheckboxField; /** * Creates (or gets the already created) number field for name * @param {string} name * @param {number} initial Initial value for number * @param {number} min Minimum value for number * @param {number} max Maximum value for number * @param {number} [step=-1] Increments * @param {string} [folderName=''] Name of GUI folder to use (empty by default) * @returns {NumberField} */ static getNumberField(name: string, initial: number, min: number, max: number, step?: number, folderName?: string): NumberField; /** * Creates (or gets the already created) trigger button field for name * @param {string} name * @param {string} [folderName=''] Name of GUI folder to use (empty by default) * @returns {ButtonField} */ static getButtonField(name: string, folderName?: string): ButtonField; /** * Gets the current value for a field of 'name' * @param {string} name * @param {string} [folderName=''] Name of GUI folder to use (empty by default) * @returns {FieldType} * @throws Error if no such field exists */ static getValue(name: string, folderName?: string): FieldType; }