import { LitElement } from 'lit'; import '../button/button'; export declare const BUTTON_GROUP_KINDS: { readonly DEFAULT: "default"; readonly PAGINATION: "pagination"; readonly ICONS: "icons"; }; export type BUTTON_GROUP_KINDS = (typeof BUTTON_GROUP_KINDS)[keyof typeof BUTTON_GROUP_KINDS]; export interface ButtonConfig { value: string | number; icon?: any; text?: string; description?: string; disabled?: boolean; kind?: string; } /** * ButtonGroup component. * * @slot unnamed - Slot for elements. * @fires on-change - Captures the click event button selection in button group. *
detail:{ value: string | number, selectedIndex: number, visibleStart: number, visibleEnd: number }
*/ export declare class ButtonGroup extends LitElement { static styles: import("lit").CSSResult; /** Button group kind. Valid values: 'default', 'pagination', 'icons' */ accessor kind: 'default' | 'pagination' | 'icons'; /** Display button group vertically. */ accessor vertical: boolean; /** zero-based: default button index; for pagination, page-1 */ accessor selectedIndex: number; /** * @category pagination * @remarks only used when `kind === BUTTON_GROUP_KINDS.PAGINATION (`pagination`)` * Total number of pages for pagination mode */ accessor totalPages: number; /** * @category pagination * @remarks only used when `kind === BUTTON_GROUP_KINDS.PAGINATION (`pagination`)` * Maximum number of visible page buttons */ accessor maxVisible: number; /** * @category pagination * @remarks only used when `kind === BUTTON_GROUP_KINDS.PAGINATION (`pagination`)` * Number of pages to increment/decrement when clicking next/previous */ accessor clickIncrementBy: number; /** Starting page for the visible range (internal state) */ private accessor _visibleStart; static get properties(): { visibleStart: { type: NumberConstructor; attribute: boolean; }; visibleEnd: { type: NumberConstructor; attribute: boolean; }; }; /** Current first page in the visible window (read-only) */ get visibleStart(): number; /** Current last page in the visible window (read-only) */ get visibleEnd(): number; /** Text string customization. */ accessor textStrings: { prevButtonDescription: string; nextButtonDescription: string; indivGroupItemDescription: string; }; /** Internal text strings. * @internal */ accessor _textStrings: { prevButtonDescription: string; nextButtonDescription: string; indivGroupItemDescription: string; }; /** Target children */ private accessor _buttons; render(): import("lit-html").TemplateResult<1>; firstUpdated(): void; updated(changed: Map): void; private _renderDefault; private _renderIcons; private _renderPagination; private _updateWindow; private _onPage; private _boundHandlers; private _attachClickListeners; private _handleSlotChange; private _onButtonClick; private _emitChange; private _syncSelection; disconnectedCallback(): void; } declare global { interface HTMLElementTagNameMap { 'kyn-button-group': ButtonGroup; } } //# sourceMappingURL=buttonGroup.d.ts.map