import { RelativeRoutingType } from '@remix-run/router';
import { HTMLAttributeAnchorTarget, MouseEvent as ReactMouseEvent } from 'react';
import { InjectParamsIfNeeded } from '../page-types/common';
import { NavigationTarget } from '../services';
type LimitedMouseEvent = Pick<MouseEvent, 'button' | 'metaKey' | 'altKey' | 'ctrlKey' | 'shiftKey'>;
export type UseClickHandlerOptions<T extends NavigationTarget> = InjectParamsIfNeeded<T, {
    target?: HTMLAttributeAnchorTarget;
    replace?: boolean;
    preventScrollReset?: boolean;
    relative?: RelativeRoutingType;
}>;
export declare function shouldProcessLinkClick(event: LimitedMouseEvent, target?: string): boolean;
export declare function useLinkClickHandler<T extends NavigationTarget, E extends Element = HTMLAnchorElement>(to: T, { target, replace: replaceProp, preventScrollReset, relative, params }: UseClickHandlerOptions<T>): (event: ReactMouseEvent<E>) => void;
export {};
//# sourceMappingURL=useLinkClickHandler.d.ts.map