import type { CascaderOption, CascaderSafeAreaPolygonOptions } from './Cascader';
export interface CascaderSafeAreaArmInput {
    level: number;
    reference: HTMLElement;
    floating: HTMLElement;
    clientX: number;
    clientY: number;
}
export interface UseCascaderSafeAreaInput {
    safeAreaPolygon: boolean | CascaderSafeAreaPolygonOptions | undefined;
    onFlush: (level: number, option: CascaderOption) => void;
}
export declare function useCascaderSafeArea({ safeAreaPolygon, onFlush }: UseCascaderSafeAreaInput): {
    enabled: boolean;
    arm: ({ level, reference, floating, clientX, clientY }: CascaderSafeAreaArmInput) => void;
    disarm: () => void;
    isBlocked: (level: number) => boolean;
    setPending: (level: number, option: CascaderOption) => void;
    clearPending: (level: number, option: CascaderOption) => void;
};
