import * as _angular_core from '@angular/core';
import { agorapulseSymbol } from '@agorapulse/ui-symbol';

interface SegmentedControlOption {
    /** The value bound to the control when this option is selected. */
    value: string;
    /** The text shown on the segment. */
    label: string;
    /** Optional leading icon symbol id. */
    symbolId?: agorapulseSymbol;
    /** Disables this segment only. */
    disabled?: boolean;
}
/**
 * A single-select control for switching between a small set (2–4) of mutually
 * exclusive options laid out side by side.
 *
 * @example
 * ```html
 * <ap-segmented-control
 *     [options]="[{ value: 'list', label: 'List' }, { value: 'board', label: 'Board' }]"
 *     [(value)]="view"
 *     ariaLabel="Choose a view" />
 * ```
 */
declare class SegmentedControlComponent {
    private readonly symbolRegistry;
    readonly options: _angular_core.InputSignal<SegmentedControlOption[]>;
    /** The currently selected value. Supports two-way binding via `[(value)]`. Defaults to the first option's value when unset. */
    readonly value: _angular_core.ModelSignal<string>;
    /** Disables the whole control. */
    readonly disabled: _angular_core.InputSignal<boolean>;
    /** When true, the control fills its container width and segments share it equally instead of fitting their text. */
    readonly fullWidth: _angular_core.InputSignal<boolean>;
    /** Accessible name for the group of segments. */
    readonly ariaLabel: _angular_core.InputSignal<string>;
    private readonly defaultValueEffect;
    constructor();
    protected select(option: SegmentedControlOption): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SegmentedControlComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<SegmentedControlComponent, "ap-segmented-control", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
}

export { SegmentedControlComponent };
export type { SegmentedControlOption };
