/** * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import React from 'react'; import { Frame } from './type'; export interface MeasureElementProps { force?: boolean; shouldUseTopInsets?: boolean; onMeasure: (frame: Frame) => void; children: React.ReactElement; } export type MeasuringElement = React.ReactElement; /** * Measures child element size and it's screen position asynchronously. * Returns measure result in `onMeasure` callback. * * Usage: * * ```tsx * const onMeasure = (frame: Frame): void => { * const { x, y } = frame.origin; * const { width, height } = frame.size; * ... * }; * * * * * ``` * * By default, it measures each time onLayout is called, * but `force` property may be used to measure any time it's needed. * DON'T USE THIS FLAG IF THE COMPONENT RENDERS FIRST TIME OR YOU KNOW `onLayout` WILL BE CALLED. */ export declare const MeasureElement: React.FC;