UNPKG

native-fn

Version:
38 lines (32 loc) 1.1 kB
declare interface NativePlugin<Key extends string, Module, Constants extends Record<string, any> = Record<string, any>, Errors extends Record<string, ErrorConstructor> = Record<string, ErrorConstructor>> { installed: boolean; name: Key; module: Module; Constants: Constants; Errors: Errors; } declare enum Appearances { Unknown = "unknown", Light = "light", Dark = "dark" } declare interface AppearanceInstance { get value(): Appearances; set value(appearances: Exclude<Appearances, Appearances.Unknown>); onchange(listener: (appearance?: Appearances) => any, options?: boolean | AddEventListenerOptions): () => void; } declare module 'native-fn' { interface NativePlugins { Appearance: AppearanceInstance; } interface NativeConstants { Appearances: typeof Appearances; } interface NativeErrors { } } declare const NativeAppearancePlugin: NativePlugin<'Appearance', AppearanceInstance, { Appearances: typeof Appearances; }, {}>; export { NativeAppearancePlugin as default }; export type { AppearanceInstance };