import { type ReactNode } from 'react';
import { type IUseDialogReturn } from './useDialog';
/**
* Props for the DialogProvider component.
*
* @public
*/
export interface IDialogProviderProps {
/**
* Child components that will have access to the dialog context.
*/
children: ReactNode;
}
/**
* Provider component that makes dialog 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 dialog 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 DialogProvider({ children }: IDialogProviderProps): ReactNode;
/**
* Hook to access the dialog context.
*
* @remarks
* This hook must be used within a DialogProvider. If you don't need the provider pattern,
* use `useDialog` directly instead.
*
* @example
* ```tsx
* function MyComponent() {
* const dialog = useDialogContext();
*
* return (
*
* );
* }
* ```
*
* @public
* @returns The dialog context value.
* @throws Error if used outside of a DialogProvider.
*/
export declare function useDialogContext(): IUseDialogReturn;
//# sourceMappingURL=DialogContext.d.ts.map