import { BindPluginSettings } from '@steambrew/client'; type CheckBox = true | false; type EnumerateInternal = Acc['length'] extends N ? Acc[number] : EnumerateInternal; type Enumerate = Exclude, EnumerateInternal> | Max; type NumberTextInput = Min | Enumerate; type DropDown = T[number]; interface SettingsProps { doFrontEndCall: CheckBox; overrideWebkitDocument: CheckBox; numberTextInput: NumberTextInput<1, 100>; frontEndMessage: DropDown<['hello', 'hi', 'hello again', false, 69]>; } export let PluginSettings: SettingsProps = BindPluginSettings();