import { MotionValue } from 'framer-motion';
import { default as React } from 'react';
export interface AppBarContextValue {
    /** The raw scroll offset of the container */
    scrollY: MotionValue<number>;
    /** Progress from 0 (fully expanded) to 1 (fully collapsed) */
    collapseProgress: MotionValue<number>;
    /** The total distance in pixels it takes to fully collapse the header */
    collapseDistance: number;
}
export declare const useAppBarContext: () => AppBarContextValue;
export type AppBarVariant = "small" | "center" | "medium" | "large";
export type AppBarScrollBehavior = "pinned" | "floating" | "hide";
export type AppBarColor = "surface" | "surface-container-lowest" | "surface-container-low" | "surface-container" | "surface-container-high" | "surface-container-highest" | "primary" | "secondary" | "transparent";
export interface AppBarSharedProps {
    scrollBehavior?: "sticky" | "conditionally-sticky";
    animatedBehavior?: ("appbar-color" | "shadow" | "fold")[];
    animatedColor?: "background" | "card" | "primary" | "secondary" | "surface-container" | "transparent";
    appBarColor?: "background" | "card" | "primary" | "secondary" | "surface-container" | "transparent";
    size?: "sm" | "md" | "lg";
    largeHeaderContent?: React.ReactNode;
    smallHeaderContent?: React.ReactNode;
    stickyHideTarget?: "full-appbar" | "main-row";
    scrollContainerRef?: React.RefObject<HTMLElement | null>;
    normalHeaderRowHeight?: number;
    largeHeaderRowHeight?: number;
    foldAnimationDistance?: number;
    foldBorderRadius?: number;
    routeKey?: string;
    collapsible?: boolean;
}
export interface AppBarProps extends Omit<React.HTMLAttributes<HTMLElement>, "title" | "color"> {
    variant?: AppBarVariant;
    scrollBehavior?: AppBarScrollBehavior;
    title?: React.ReactNode;
    leadingIcon?: React.ReactNode;
    trailingIcons?: React.ReactNode;
    bottomContent?: React.ReactNode;
    color?: AppBarColor;
    scrolledColor?: AppBarColor;
    elevateOnScroll?: boolean;
    scrollContainerRef?: React.RefObject<HTMLElement | null>;
    routeKey?: string;
    topRowContent?: React.ReactNode;
    expandedContent?: React.ReactNode;
    expandedAnimation?: "default" | "none";
    collapsible?: boolean;
    collapsedHeight?: number;
    expandedHeight?: number;
    effectScrollThreshold?: number;
    collapseScrollDistance?: number;
}
export declare const AppBar: React.ForwardRefExoticComponent<AppBarProps & React.RefAttributes<HTMLElement>>;
