import { SvelteComponent } from "svelte";
import type { Strategy, Placement, Middleware } from './constants';
declare const __propDef: {
    props: {
        /**
           * Place the overlay anywhere relative to the parent element.
           * @link: https://floating-ui.com/docs/computePosition#placement
           * @type {
           *   Placement |
           *   'top' | 'top-start' | 'top-end' |
           *   'right' | 'right-start' | 'right-end' |
           *   'bottom' | 'bottom-start' | 'bottom-end' |
           *   'left' | 'left-start' | 'left-end'
           *   }
           */ position?: Placement;
        /** The fallback placements of the floating element in case initial doesn't fit
           * https://floating-ui.com/docs/flip#fallbackplacements
           * @type {Placement[]}
           * */ defaultPositions?: Placement[] | undefined;
        /**
           * Position property of the floating element
           * @link: https://floating-ui.com/docs/computePosition#strategy
           * @type {'absolute' | 'fixed' | 'string}
           * */ strategy?: Strategy | string;
        /**
           * Flip the floating element if it doesn't fit in the viewport
           * @link: https://floating-ui.com/docs/flip
           * @type {boolean}
           * */ flip?: boolean;
        /**
           * Padding shift between the target and the floating element
           * @link: https://floating-ui.com/docs/shift
           * @type {number}
           * */ shift?: number | undefined;
        /**
           * Offset between the target and the floating element
           * @link: https://floating-ui.com/docs/offset
           * @type {number}
           * */ offset?: number;
        /**
           * Middlewares to modify the position of the floating element
           * @link: https://floating-ui.com/docs/middleware
           * @type {Middleware[]}
           * */ middleware?: Middleware[];
        /**
           * The reference element to anchor to
           * link: https://floating-ui.com/docs/computePosition
           * @type {HTMLElement}
           * */ parent: HTMLElement;
        /**
           * Automatically update the position of the floating element
           * @link: https://floating-ui.com/docs/autoUpdate
           * @type {boolean}
           */ autoUpdate?: boolean;
    };
    events: {
        mouseenter: MouseEvent;
        mouseleave: MouseEvent;
        computedposition: CustomEvent<any>;
    } & {
        [evt: string]: CustomEvent<any>;
    };
    slots: {
        default: {};
    };
    exports?: {} | undefined;
    bindings?: string | undefined;
};
export type OverlayProps = typeof __propDef.props;
export type OverlayEvents = typeof __propDef.events;
export type OverlaySlots = typeof __propDef.slots;
export default class Overlay extends SvelteComponent<OverlayProps, OverlayEvents, OverlaySlots> {
}
export {};
