import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import'../../utility/live-region/live-region.class.js';import type{LyraToolbarAction}from'../message-actions/toolbar-actions.js';export interface LyraBranchPickerEventMap{'lr-branch-change':CustomEvent<{index:number;}>;'lr-toolbar-actions-change':Event;} /** * `` — the "‹ 2 / 5 ›" navigator across regenerated/edited variants of one * message. Pure controlled: it never mutates its own `index` — the same contract `` * already establishes for `page`. The host listens for `lr-branch-change`, swaps the displayed * branch content, and applies the new `index` back. * * Renders nothing at all while `count < 2`, so a host can bind it unconditionally on every message * regardless of whether that message actually has multiple branches yet. * * @customElement lr-branch-picker * @event lr-branch-change - A branch navigation was requested. `detail: { index }` — always a * valid target (never past either bound); the consumer applies `index` after switching the * displayed branch content. * @event lr-toolbar-actions-change - No-detail coordination event emitted when the logical * toolbar actions exposed by this provider change availability or order. * @csspart base - The group wrapper (`role="group"`). * @csspart previous-button - The previous-branch chevron button. * @csspart previous-glyph - The chevron glyph wrapper inside `previous-button`. * @csspart next-button - The next-branch chevron button. * @csspart next-glyph - The chevron glyph wrapper inside `next-button`. * @csspart position - The visible "2 / 5" text. * @status stable * @since 4.0.0 */ export declare class LyraBranchPicker extends LyraElement{static styles:import("lit").CSSResultGroup[]; /** 0-based current branch, rendered 1-based ("2 / 5"). Controlled -- this component never writes * to it itself. */ index:number; /** Total number of branches. While `count < 2` the component renders nothing at all. */ count:number; /** Accessible name for the group. Defaults to the localized `branchPickerLabel`. */ label:string;private previousButtonEl?;private nextButtonEl?;private liveRegion?;private readonly groupId; /** Gates the position announcement so a freshly-mounted picker never announces its own initial * position -- mirrors ``'s identical `isMounting` gate for status-change * announcements. */ private isMounting;private readonly previousToolbarAction;private readonly nextToolbarAction;private createToolbarAction; /** Ordered logical actions exposed to an enclosing toolbar without exposing shadow nodes. * A parent releases its optional lease when this provider leaves, restoring an untouched * authored chevron tabindex without replacing a later consumer value. */ getToolbarActions():readonly LyraToolbarAction[]; /** Read-time-safe view of `count` -- non-negative, finite, truncated to a whole branch count. * Both `index` and `count` are fully controlled (this component never writes to them), so an * out-of-range/non-finite value assigned from outside would otherwise reach the `count - 1`/ * `index + 1` arithmetic below unsanitized; a non-finite value falls back to `1` (matching the * property's own default), which keeps the render-nothing-while-`count < 2` contract intact * instead of throwing or displaying `NaN`. */ private get normalizedCount(); /** Read-time-safe view of the controlled `index` property, clamped to `[0, normalizedCount - 1]` * -- never mutates `index` itself, matching this component's fully controlled contract (mirrors * ``'s identical `currentPage` pattern). */ private get normalizedIndex(); /** Focuses whichever chevron button isn't currently `disabled` -- mirrors ``'s * own `focus()`-delegation-to-the-internal-control pattern, so this component composes cleanly * as one stop inside a parent toolbar. */ focus(options?:FocusOptions):void;blur():void; /** Activates the currently enabled chevron, matching a click on the shadow control. */ click():void;protected updated(changed:PropertyValues):void;disconnectedCallback():void;adoptedCallback():void;private releaseToolbarActions;private formatPosition;private requestIndex;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-branch-picker':LyraBranchPicker;}}