import { default as React } from 'react';
import { As, CreateWuiProps } from '../System';
import * as Ariakit from '@ariakit/react';
export interface DrawerOptions extends Ariakit.DialogOptions<'div'> {
    placement?: Placement;
    size?: Size;
    withBackdrop?: boolean;
    withCloseButton?: boolean;
}
export type DrawerProps = CreateWuiProps<'div', DrawerOptions>;
type Placement = 'bottom' | 'left' | 'right' | 'top';
type Size = 'auto' | 'sm' | 'md' | 'lg' | string;
export interface DrawerBackdropOptions {
    hideOnInteractOutside?: boolean;
}
export type UseDrawer = Ariakit.DialogStore;
export type UseDrawerProps = Ariakit.DialogStoreProps;
export type UseDrawerState = Ariakit.DialogStoreState;
export declare function useDrawer(options?: UseDrawerProps): UseDrawer;
/**
 * @name Drawer.Backdrop
 */
export declare const DrawerBackdrop: React.FC<DrawerBackdropOptions>;
type TriggerProps = {
    as?: As;
    children: React.ReactNode;
    store: Ariakit.DialogStore;
};
export declare const Trigger: import('../System').CreateWuiComponent<"button", TriggerProps>;
export declare const Drawer: import('../System').CreateWuiComponent<"div", DrawerProps> & {
    Backdrop: React.FC<DrawerBackdropOptions>;
    Close: React.FC<import('./Close').CloseProps>;
    Content: import('../System').CreateWuiComponent<"div", Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('../System').WuiProps>, never> & Omit<import('../System').WuiProps & import('../System').WuiTestProps & {
        as?: As;
    }, never>>;
    Footer: import('../System').CreateWuiComponent<"div", Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('../System').WuiProps>, never> & Omit<import('../System').WuiProps & import('../System').WuiTestProps & {
        as?: As;
    }, never>>;
    Title: React.FC<import('../Text').TextProps>;
    Trigger: import('../System').CreateWuiComponent<"button", TriggerProps>;
};
export declare const AssetDrawer: import('../System').CreateWuiComponent<"div", import('./AssetDrawer').AssetDrawerProps> & {
    Header: React.FC<{
        action?: React.ReactNode;
        icon?: React.FC<import('../Icon').IconProps>;
        onBackButtonClick?: (props?: unknown) => void;
        subtitle?: React.ReactNode;
        title: React.ReactNode;
    }>;
    Trigger: import('../System').CreateWuiComponent<"button", TriggerProps>;
};
export {};
