import { type CSSResultGroup, type PropertyValues } from 'lit';
import SynergyElement from '../../internal/synergy-element.js';
import SynDivider from '../divider/divider.component.js';
import SynIconButton from '../icon-button/icon-button.component.js';
import SynInput from '../input/input.component.js';
import SynOption from '../option/option.component.js';
import SynSelect from '../select/select.component.js';
/**
* @summary provides page navigation, direct page input, and page-size selection for large data sets.
*
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-pagination--docs
* @status stable
* @since 3.12.0
*
* @event syn-pagination-page-changed - Emitted when the current page changes
* @event syn-pagination-page-size-changed - Emitted when the page size changes
*
* @csspart base - The component's base wrapper.
* @csspart divider - The divider element displayed at the top of the pagination component.
* @csspart page-size-select-wrapper - The wrapper element containing the page size select and page item summary.
* @csspart page-size-select - The page size select element.
* @csspart page-item-summary - The text element displaying the current page item range and total items.
* @csspart page-input-section - The section containing the page number input and total pages display.
* @csspart page-input - The page number input element.
* @csspart navigation - The pagination navigation element.
* @csspart navigation-action - The individual navigation action buttons (first, previous, next, last).
*
* @accessibility
* The entire component is wrapped in a semantic `