import type { DocumentTab, DocumentTabsOverflow } from './types'; declare function $$render(): { props: { value: T; /** `NoInfer` ensures `T` narrows from `value` only; inline tab literals type-check against the value's T without widening — no `as const` needed at callsites. */ tabs: DocumentTab>[]; /** `'scroll'` makes the strip its own scroll container with edge fades and chevrons. Leave it `'visible'` when the container already scrolls the strip. @default 'visible' */ overflow?: DocumentTabsOverflow; /** Equality for object T values. @default reference equality (`===`) */ compare?: (a: T, b: T) => boolean; on?: { change?: (value: T) => void; /** Providing this renders a close button on every tab that doesn't opt out with `closable: false`. */ close?: (value: T) => void; }; }; exports: {}; bindings: ""; slots: {}; events: {}; }; declare class __sveltets_Render { props(): ReturnType>['props']; events(): ReturnType>['events']; slots(): ReturnType>['slots']; bindings(): ""; exports(): {}; } interface $$IsomorphicComponent { new (options: import('svelte').ComponentConstructorOptions['props']>>): import('svelte').SvelteComponent['props']>, ReturnType<__sveltets_Render['events']>, ReturnType<__sveltets_Render['slots']>> & { $$bindings?: ReturnType<__sveltets_Render['bindings']>; } & ReturnType<__sveltets_Render['exports']>; (internal: unknown, props: ReturnType<__sveltets_Render['props']> & {}): ReturnType<__sveltets_Render['exports']>; z_$$bindings?: ReturnType<__sveltets_Render['bindings']>; } /** * DocumentTabs — browser-style tabs for an editor: the active tab is taller than its neighbours and * sits flush on the container's bottom rule, so it reads as continuous with the panel below while the * inactive ones stay behind that line. Each tab carries an optional icon, an unsaved-changes dot, a * `tone` for a tab of a different kind (a live preview), and its own `closable` opt-out. A closable or * dirty tab reserves the trailing slot permanently: the dot sits there at rest, the close button takes * its place on hover, and a tab's width never depends on which of them is showing. Arrow keys / Home / * End move between tabs (roving tabindex), Delete closes the focused one. * * `overflow="scroll"` gives the strip its own scroll container with edge fades, chevrons and * wheel-to-scroll. Leave it `'visible'` where the container already scrolls the strip — two nested * scrollers fight each other. * * The active tab dips `--sc-kit--document-tabs--baseline-overlap` below the strip to cover the bottom * rule of the bar it sits in. A container that clips (any `overflow` other than `visible`) has to * leave that last pixel inside its own clip region, or the overlap is cut off. * * ### CSS Custom Properties * | Property | Description | Default | * |---|---|---| * | `--sc-kit--document-tabs--height` | Inactive tab height | `29px` | * | `--sc-kit--document-tabs--height--active` | Active tab height | `32px` | * | `--sc-kit--document-tabs--padding-inline` | Tab horizontal padding — the same in both states, so activating a tab shifts nothing sideways | `10px` | * | `--sc-kit--document-tabs--min-width` | Minimum tab width | `112px` | * | `--sc-kit--document-tabs--max-width` | Maximum tab width — the label ellipsizes past it | `200px` | * | `--sc-kit--document-tabs--gap` | Gap between tabs | `1px` | * | `--sc-kit--document-tabs--tab--gap` | Gap between a tab's icon, label and trailing slot | `8px` | * | `--sc-kit--document-tabs--radius` | Top corner radius | `--sc-kit--radius--sm` | * | `--sc-kit--document-tabs--border-width` | Tab border width | `1px` | * | `--sc-kit--document-tabs--border-color` | Tab border color | `--sc-kit--color--border` | * | `--sc-kit--document-tabs--baseline-overlap` | How far the active tab dips below the strip to cover its container's bottom rule | `1px` | * | `--sc-kit--document-tabs--background` | Inactive tab background | `--sc-kit--color--bg--app` | * | `--sc-kit--document-tabs--background--active` | Active tab background — matches the pane below | `--sc-kit--color--bg--panel` | * | `--sc-kit--document-tabs--background--hover` | Inactive tab hover background | `--sc-kit--color--bg--hover` | * | `--sc-kit--document-tabs--color` | Inactive tab label color | `--sc-kit--color--text--secondary` | * | `--sc-kit--document-tabs--color--active` | Active tab label color | `--sc-kit--color--text--primary` | * | `--sc-kit--document-tabs--color--hover` | Inactive tab hover label color | `--sc-kit--color--text--primary` | * | `--sc-kit--document-tabs--color--disabled` | Disabled tab label color | `--sc-kit--color--text--muted` | * | `--sc-kit--document-tabs--font-size` | Label font size | `--sc-kit--font-size--sm` | * | `--sc-kit--document-tabs--font-weight` | Label font weight | `--sc-kit--font-weight--regular` | * | `--sc-kit--document-tabs--scroll-btn--background` | Fade behind the overflow chevrons | `--sc-kit--color--bg--panel` | */ declare const Cmp: $$IsomorphicComponent; type Cmp = InstanceType>; export default Cmp;