import { MutableRefObject } from 'react';
import { WidgetMessage } from '../../../internal/plugins/widget/interfaces';
export interface OnChangeParams {
  initiatedByUserAction: boolean;
}
interface UseDrawersProps {
  onBottomDrawerFocus: () => void;
  expandedDrawerId: string | null;
  setExpandedDrawerId: (value: string | null) => void;
  drawersOpenQueue: MutableRefObject<Array<string>>;
}
export declare function useBottomDrawers({
  onBottomDrawerFocus,
  expandedDrawerId,
  setExpandedDrawerId,
  drawersOpenQueue
}: UseDrawersProps): {
  bottomDrawers: (import("../..").AppLayoutProps.Drawer & {
    orderPriority?: number;
    onToggle?: import("../../../internal/events").NonCancelableEventHandler<import("../../../internal/plugins/controllers/drawers").DrawerStateChangeParams>;
    headerActions?: ReadonlyArray<import("../../..").ButtonGroupProps.Item>;
    exitExpandedModeTrigger?: React.ReactNode;
    onToggleFocusMode?: import("../../../internal/events").NonCancelableEventHandler<{
      isExpanded: boolean;
    }>;
  })[];
  activeBottomDrawer: (import("../..").AppLayoutProps.Drawer & {
    orderPriority?: number;
    onToggle?: import("../../../internal/events").NonCancelableEventHandler<import("../../../internal/plugins/controllers/drawers").DrawerStateChangeParams>;
    headerActions?: ReadonlyArray<import("../../..").ButtonGroupProps.Item>;
    exitExpandedModeTrigger?: React.ReactNode;
    onToggleFocusMode?: import("../../../internal/events").NonCancelableEventHandler<{
      isExpanded: boolean;
    }>;
  }) | null | undefined;
  onActiveBottomDrawerChange: (drawerId: string | null, {
    initiatedByUserAction
  }?: Partial<OnChangeParams>) => void;
  activeBottomDrawerSize: number;
  minBottomDrawerSize: number;
  onActiveBottomDrawerResize: ({
    id,
    size
  }: {
    id: string;
    size: number;
  }) => void;
  bottomDrawersMessageHandler: (event: WidgetMessage) => void;
};
export {};