import type { InjectionKey, Ref } from "vue";
import type { Middleware, Padding, MiddlewareState } from "./usePopper/index";
export type PopperContext = {
    TriggerRef: Ref<HTMLElement | null>;
    onShow: () => void;
    onHidden: () => void;
};
export declare const POPPER_INJECTION_KEY: InjectionKey<PopperContext>;
type arrowMiddlewareParamsType = {
    arrowRef: Ref<HTMLDivElement | null>;
    padding?: Padding;
};
export declare const arrowMiddleware: ({ arrowRef, padding, }: arrowMiddlewareParamsType) => Middleware;
export declare const getArrowPlacement: () => {
    name: string;
    fn: (args: MiddlewareState) => {};
};
export declare const getArrowOffer: ({ arrowRef, }: Pick<arrowMiddlewareParamsType, "arrowRef">) => {
    name: string;
    fn: (args: MiddlewareState) => {};
};
export {};
