import type { HTMLAnchorAttributes, HTMLAttributes, HTMLButtonAttributes } from 'svelte/elements'; type ElementTag = 'a' | 'button' | 'div'; export type ElementKind = 'text' | 'link' | 'button' | 'submit' | 'reset'; /** The props of a component that renders static content, a link or a button, see `elementTag`. */ export interface ElementKindProps extends HTMLAttributes, Omit | 'type'>, Omit | 'type'> { /** * The element to render. Leave it out to follow `href` and `onclick`. `text` renders static * content, `link` a link, and `button`, `submit` or `reset` a button of that type. */ type?: ElementKind | null; } interface TagAttributes { href?: string | null; onclick?: unknown; command?: unknown; popovertarget?: unknown; } /** * Picks the element for a component that can be static content, a link or a button. An explicit * kind wins: `text`, `link`, or a native button type. Without one, `href` makes a link and a click * handler, `command` or `popovertarget` makes a button. */ export declare const elementTag: (attributes: TagAttributes, kind?: ElementKind | null) => ElementTag; /** The native `type` for the button branch. Anything that is not a native button type becomes `button`. */ export declare const buttonType: (kind?: ElementKind | null) => "reset" | "submit" | "button"; export {};