import type { HTMLButtonAttributes, HTMLAttributes, HTMLLabelAttributes } from "svelte/elements";
import type { Snippet } from "svelte";
import type { AnchorAttrs, NotLink } from "../misc/typing-utils";
import "../etc/layer.js";
type ActionProps = AnchorAttrs | (NotLink<HTMLLabelAttributes> & {
    label: true;
}) | (NotLink<HTMLAttributes<HTMLElement>> & {
    summary: true;
}) | NotLink<HTMLButtonAttributes>;
type Props = {
    variant?: "elevated" | "filled" | "tonal" | "outlined" | "text";
    square?: boolean;
    iconType?: "none" | "left" | "full";
    size?: "xs" | "s" | "m" | "l" | "xl";
    children: Snippet;
} & ActionProps;
declare const Button: import("svelte").Component<Props, {}, "">;
type Button = ReturnType<typeof Button>;
export default Button;
