import { ContextValue } from 'react-aria-components/slots';
import { ReactNode } from 'react';
import { DOMProps, DOMRefValue, GlobalDOMAttributes } from '@react-types/shared';
import { DropZoneProps as RACDropZoneProps } from 'react-aria-components/DropZone';
import { StylesPropWithHeight, UnsafeStyles } from './style-utils';
export interface DropZoneProps extends Omit<RACDropZoneProps, 'className' | 'style' | 'render' | 'children' | 'isDisabled' | 'onHover' | 'onHoverStart' | 'onHoverEnd' | 'onHoverChange' | keyof GlobalDOMAttributes>, UnsafeStyles, DOMProps {
    /** Spectrum-defined styles, returned by the `style()` macro. */
    styles?: StylesPropWithHeight;
    /** The content to display in the drop zone. */
    children: ReactNode;
    /** Whether the drop zone has been filled. */
    isFilled?: boolean;
    /**
     * The message to replace the default banner message that is shown when the drop zone is filled.
     * @default 'Drop file to replace'
     */
    replaceMessage?: string;
    /**
     * The size of the DropZone.
     *
     * @default 'M'
     */
    size?: 'S' | 'M' | 'L';
}
export declare const DropZoneContext: import("react").Context<ContextValue<Partial<DropZoneProps>, DOMRefValue<HTMLDivElement>>>;
/**
 * A drop zone is an area into which one or multiple objects can be dragged and dropped.
 */
export declare const DropZone: import("react").ForwardRefExoticComponent<DropZoneProps & import("react").RefAttributes<DOMRefValue<HTMLDivElement>>>;
