import * as react from 'react';
import { RefObject } from 'react';
import { CSSUIObject } from '@yamada-ui/core';
import { ModalOptions } from './modal.js';
import '@yamada-ui/motion';
import '@yamada-ui/focus-lock';
import '@yamada-ui/portal';
import './modal-content.js';

interface ModalContext extends ModalOptions {
    bodyRef: RefObject<HTMLElement>;
    headerRef: RefObject<HTMLElement>;
    styles: {
        [key: string]: CSSUIObject | undefined;
    };
}
declare const ModalProvider: react.Provider<ModalContext>;
declare const useModal: () => ModalContext;
interface DialogContext {
    [key: string]: CSSUIObject | undefined;
}
declare const DialogProvider: react.Provider<DialogContext>;
declare const useDialog: () => DialogContext;
interface DrawerContext {
    [key: string]: CSSUIObject | undefined;
}
declare const DrawerProvider: react.Provider<DrawerContext>;
declare const useDrawer: () => DrawerContext;

export { DialogProvider, DrawerProvider, ModalProvider, useDialog, useDrawer, useModal };
