import { EventEmitter } from '../../stencil-public-runtime'; import { VegaSegmentControlVariant, VegaSegmentProps } from './types'; import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core'; import { VegaSegmentControlRenderer } from './slimmers/renderers/vega-segment-control-renderer'; import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer'; import { VegaSegmentControlSelectedController } from './slimmers/controllers/vega-segment-control-selected-controller'; import { PageResizeObserverSlimmer } from '../../helpers/slimmers/page-resize-observer-slimmer'; import { VegaSegmentOverflowController } from './slimmers/controllers/vega-segment-overflow-controller'; import { VegaSegmentRenderer } from './slimmers/renderers/vega-segment-renderer'; import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics'; /** * @vegaVersion 2.3.0 */ export declare class VegaSegmentControl { protected readonly globalSlimmers: GlobalSlimmers; protected readonly segmentControlRenderer: VegaSegmentControlRenderer; protected readonly segmentOverflowController: VegaSegmentOverflowController; protected readonly segmentRenderer: VegaSegmentRenderer; protected readonly selectedController: VegaSegmentControlSelectedController; protected changeEventEmitter: EventEmitSlimmerBase; protected readonly pageResizeObserverSlimmer: PageResizeObserverSlimmer; protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer; private segmentControlWidth; host: HTMLVegaSegmentControlElement; isOverflowBlockSegments: boolean; /** * Specifies whether the segment control spans the * full width of its parent element. * * @vegaVersion 2.3.0 */ block: boolean; /** The below method is e2e-test covered in * @see{module:vega-segment-control-set-block-e2e} * @see{module:vega-segment-control-set-block-resize-screen-e2e} */ watchBlock(): void; /** * Specifies the size of the segment control. * * @vegaVersion 2.3.0 */ size: 'medium' | 'small'; watchSize(): void; /** * Specifies the options available within the segment control. * Please note that we advise against having more than four segments in a segment control. * * @vegaVersion 2.3.0 */ segments: VegaSegmentProps[]; watchSegments(): void; /** * Specifies the key of the currently selected segment * within the segment control. * * @vegaVersion 2.3.0 */ selected: string; watchSelected(): void; /** * Specifies the variant of the segment control. * * The following options are available for the `variant` property: * - `default`: * The segment control is rendered with both icon and text if configured, * - `text-only`: * The segment control is rendered with text only regardless of the configuration of icon. * - `icon-only`: * The segment control is rendered with icon only, text will be showed as the icon's tooltip if configured. * * @vegaVersion 2.3.0 */ variant: VegaSegmentControlVariant; /** * An event emitter notifying changes * in the selected segment. * * @vegaVersion 2.3.0 */ vegaChange: EventEmitter; /** * A native event emitter notifying changes * in the selected segment. * @eventSemantics namespace:native * @vegaVersion 2.3.0 */ change: EventEmitter; componentWillLoad(): void; render(): VegaSegmentControl; }