import { z } from 'zod';
import { type MouseEvent } from 'react';
import { type DeserializedRecord, LinkDefinition as BaseLinkDefinition, LinkSchema } from '@makeswift/controls';
type DataType = z.infer<typeof LinkDefinition.schema.data>;
type ScrollOptions = z.infer<typeof LinkSchema.scrollOptions>;
type MouseEventType = MouseEvent<Element>;
export declare function validateElementRef(href: string): string | undefined;
export declare class LinkDefinition extends BaseLinkDefinition<MouseEventType> {
    static deserialize(data: DeserializedRecord): LinkDefinition;
    resolveOnClick(data: DataType | undefined, href: string, scrollOptions: ScrollOptions | undefined): {
        (event: MouseEvent<Element>): void;
        $scrollOptions: {
            behavior?: "auto" | "smooth" | "instant" | undefined;
            block?: "start" | "center" | "end" | "nearest" | undefined;
            inline?: "start" | "center" | "end" | "nearest" | undefined;
        } | undefined;
    };
}
export declare function Link(config?: {
    description?: string;
    label?: string;
}): LinkDefinition;
export {};
//# sourceMappingURL=link.d.ts.map