native-fn
Version:
38 lines (32 loc) • 1.1 kB
TypeScript
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 };