/** * Copyright (c) Nicolas Gallagher. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow */ export type ColorValue = null | string; export type DimensionValue = null | number | string; export type EdgeInsetsValue = {| top: number, left: number, right: number, bottom: number, |}; export type GenericStyleProp<+T> = null | void | $ReadOnly | false | '' | $ReadOnlyArray>; export type LayoutValue = { x: number, y: number, width: number, height: number, }; export type LayoutEvent = { nativeEvent: { layout: LayoutValue, target: any, }, timeStamp: number, }; export type PointValue = {| x: number, y: number, |}; type LayoutCallback = (x: number, y: number, width: number, height: number, left: number, top: number) => void; type MeasureInWindowCallback = (left: number, top: number, width: number, height: number) => void; // Mixin to HTMLElement that represents additions from the `usePlatformMethods` hook export interface PlatformMethods { blur: () => void, focus: () => void, measure: (callback: LayoutCallback) => void, measureInWindow: (callback: MeasureInWindowCallback) => void, measureLayout: (relativeToNativeNode: {}, onSuccess: LayoutCallback, onFail: () => void) => void, }