import type { animateLayout } from "./utils";
/**
based on framer-motion@4.1.17,
Copyright (c) 2018 Framer B.V.
*/
/**
* @public
*/
export interface LayoutProps {
/**
* If `true`, this component will automatically animate to its new position when
* its layout changes.
*
* ```jsx
*
* ```
*
* This will perform a layout animation using performant transforms. Part of this technique
* involved animating an element's scale. This can introduce visual distortions on children,
* `boxShadow` and `borderRadius`.
*
* To correct distortion on immediate children, add `layout` to those too.
*
* `boxShadow` and `borderRadius` will automatically be corrected if they are already being
* animated on this component. Otherwise, set them directly via the `initial` prop.
*
* If `layout` is set to `"position"`, the size of the component will change instantly and
* only its position will animate.
*
* @public
*/
layout?: ReturnType<(typeof animateLayout)["track"]> | boolean | "position";
/**
* Enable shared layout transitions between components for children of `AnimateSharedLayout`.
*
* When a component with a layoutId is removed from the React tree, and then
* added elsewhere, it will visually animate from the previous component's bounding box
* and its latest animated values.
*
* ```jsx
*
* {items.map(item => (
*
* {item.name}
* {item.isSelected && }
*
* ))}
*
* ```
*
* If the previous component remains in the tree it will either get hidden immediately or,
* if `type="crossfade"` is set on `AnimateSharedLayout`, it will crossfade to the new component.
*
* @public
*/
layoutId?: string;
/**
* This enables a component's transform to be reset during layout
* measurements. This is intended to be used independently of the
* layout prop, for instance if a parent component's transform is
* interfering with the measurement of a child.
*
* @internal
*/
_layoutResetTransform?: boolean;
/**
* A callback that will fire when a layout animation on this component completes.
*
* @public
*/
onLayoutAnimationComplete?(): void;
}
//# sourceMappingURL=types.d.ts.map