import * as React from "react";
export declare type LipShadowPosition = `top` | `bottom`;
export declare type StickyObserverContextValue = {
    isStuck: boolean;
    lipShadowPosition: LipShadowPosition;
    setIsIntersecting: (isIntersecting: boolean) => void;
};
export declare type StickyObserverProps = StickyObservedContainerProps & {
    lipShadowPosition: LipShadowPosition;
};
export declare function StickyObserver({ lipShadowPosition, children, ...rest }: StickyObserverProps): JSX.Element;
export declare type StickyObserverProviderProps = {
    lipShadowPosition: LipShadowPosition;
    children: React.ReactNode;
};
export declare function StickyObserverProvider({ lipShadowPosition, children, }: StickyObserverProviderProps): JSX.Element;
export declare function useStickyObserver(): StickyObserverContextValue;
export declare type StickyObservedContainerProps = Omit<JSX.IntrinsicElements["div"], "ref">;
export declare function StickyObservedContainer({ children, ...rest }: StickyObservedContainerProps): JSX.Element;
export declare type StickyObserverSentinelProps = {};
export declare function StickyObserverSentinel(_props: StickyObserverSentinelProps): JSX.Element;
export declare type StickyLipShadowProps = {};
export declare function StickyLipShadow(_props: StickyLipShadowProps): JSX.Element;
