import type { Snippet } from 'svelte'; type Props = { checked: boolean; /** @default 'md' */ size?: 'sm' | 'md'; disabled?: boolean; /** Render a non-interactive visual switch (a ``, not a button) for embedding inside another interactive row that owns the click + semantics. @default false */ presentational?: boolean; /** Label position relative to the switch. `spread` = label left, switch right (settings-row). `inline` = switch left, label right (compact). @default 'spread' */ layout?: 'spread' | 'inline'; /** Label: plain text or a snippet for rich content. */ label?: string | Snippet; /** Secondary text under the main label. */ sublabel?: string | Snippet; title?: string; /** Accessible name fallback when `label` is a snippet (forwarded to `aria-label`). */ name?: string; on?: { change?: (value: boolean) => void; }; }; /** * Toggle (switch) — boolean on/off control. Renders a bare `