import { type HTMLMotionProps } from 'motion/react';
import { type ComponentPropsWithoutRef, type ReactNode, type Ref } from 'react';
export type ExpandableScreenProps = {
animationDuration?: number;
children: ReactNode;
closeOnEscape?: boolean;
contentRadius?: string;
defaultExpanded?: boolean;
expanded?: boolean;
layoutId?: string;
lockScroll?: boolean;
onExpandChange?: (expanded: boolean) => void;
onExpandedChange?: (expanded: boolean) => void;
triggerRadius?: string;
};
export declare const ExpandableScreen: ({ animationDuration, children, closeOnEscape, contentRadius, defaultExpanded, expanded, layoutId, lockScroll, onExpandChange, onExpandedChange, triggerRadius, }: ExpandableScreenProps) => import("react/jsx-runtime").JSX.Element;
export type ExpandableScreenTriggerProps = Omit, 'children' | 'ref'> & {
asChild?: boolean;
children: ReactNode;
contentClassName?: string;
ref?: Ref;
};
export declare const ExpandableScreenTrigger: ({ asChild, children, className, contentClassName, onClick, onKeyDown, ref, role, style, tabIndex, ...triggerProps }: ExpandableScreenTriggerProps) => import("react/jsx-runtime").JSX.Element;
export type ExpandableScreenContentProps = Omit, 'children' | 'ref'> & {
children: ReactNode;
closeButtonClassName?: string;
closeLabel?: string;
closeOnBackdrop?: boolean;
overlayClassName?: string;
ref?: Ref;
showCloseButton?: boolean;
};
export declare const ExpandableScreenContent: (props: ExpandableScreenContentProps) => import("react/jsx-runtime").JSX.Element;
export type ExpandableScreenBackgroundProps = Omit, 'children' | 'content' | 'ref'> & {
content?: ReactNode;
ref?: Ref;
trigger?: ReactNode;
};
export declare const ExpandableScreenBackground: ({ className, content, ref, trigger, ...props }: ExpandableScreenBackgroundProps) => import("react/jsx-runtime").JSX.Element | null;