import { type ReactNode } from 'react';
import { type IUseDrawerReturn } from './useDrawer';
/**
* Props for the DrawerProvider component.
*
* @public
*/
export interface IDrawerProviderProps {
/**
* Child components that will have access to the drawer context.
*/
children: ReactNode;
}
/**
* Provider component that makes drawer functionality available to all child components.
*
* @remarks
* Place this provider at the root of your application or at a level where all
* components that need drawer access are descendants.
*
* @example
* ```tsx
* // In your app root
* function App() {
* return (
*
*
*
* );
* }
* ```
*
* @public
* @param props - The provider props.
* @returns The provider component wrapping children.
*/
export declare function DrawerProvider({ children }: IDrawerProviderProps): ReactNode;
/**
* Hook to access the drawer context.
*
* @remarks
* This hook must be used within a DrawerProvider. If you don't need the provider pattern,
* use `useDrawer` directly instead.
*
* @example
* ```tsx
* function MyComponent() {
* const drawer = useDrawerContext();
*
* return (
*
* );
* }
* ```
*
* @public
* @returns The drawer context value.
* @throws Error if used outside of a DrawerProvider.
*/
export declare function useDrawerContext(): IUseDrawerReturn;
//# sourceMappingURL=DrawerContext.d.ts.map