import * as i0 from '@angular/core'; import { AfterContentInit, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core'; import * as i6 from '@angular/material/core'; import { ThemePalette } from '@angular/material/core'; import * as i5 from '@angular/forms'; import { ControlValueAccessor } from '@angular/forms'; import * as i3 from '@angular/common'; import * as i4 from '@angular/material/checkbox'; import * as i7 from '@angular/cdk/observers'; /** * @ignore */ interface SelectionPanelItemGroup { _selection: any[]; color: ThemePalette; _isDisabled: boolean; _onTouched?: () => void; selectByHeader: boolean; } /** * Use `bui-selection-panel-item` within a `bui-selection-panel` to display an option. */ declare class SelectionPanelItemComponent implements AfterContentInit { private _group; private _cd; /** @ignore */ static ngAcceptInputType_disabled: boolean | string; /** @ignore */ static ngAcceptInputType_checked: boolean | string; /** * This will be displayed as the panel header */ title: string; /** * Show the header in with a shaded background */ shadedHeader: boolean; /** * when false will hide the checkbox */ selectable: boolean; /** Whether the option is disabled. */ get disabled(): boolean; set disabled(value: boolean); /** The value of this option. */ get value(): any; set value(value: any); /** Whether this option is checked. */ get checked(): boolean; set checked(value: boolean); /** Theme color of the radio button. */ get color(): ThemePalette; set color(newValue: ThemePalette); get _selectByHeader(): boolean; empty: boolean; private _color; private _disabled; private _value; private _bodyContent?; private _ripple?; constructor(_group: SelectionPanelItemGroup, _cd: ChangeDetectorRef); /** @ignore */ _markInteracted(): void; /** @ignore */ _notify(): void; /** Toggle selection programmatically */ toggle(): void; /** @ignore */ _contentClicked(event: MouseEvent): void; /** @ignore */ contentChanged(): void; /** @ignore */ ngAfterContentInit(): void; /** Sets the disabled state and marks for check if a change occurred. */ private _setDisabled; private _setChecked; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Selection panel is a [control value accessor](https://angular.io/api/forms/ControlValueAccessor) * that display a set of multi-selection items as bordered panels, in a similar fashion as Radio Panel `bui-radio-panel`. * * Accessibility features are not yet fully implemented. * * Example: * * ```html * * {{obj.description}} * * ``` * */ declare class SelectionPanelDirective implements ControlValueAccessor, SelectionPanelItemGroup, OnChanges { private _cd; /** Theme color for all of the selection checkboxes in the group. */ color: ThemePalette; /** * When set to `false`, the selection is triggered by click everywhere within the panels that is * not focus-trapping; otherwise, only clicking on the header will activate the selection. * * @default true */ selectByHeader: boolean; /** * @ignore * The selected values. Used by the child elements to modify the group's value */ get _selection(): any[]; set _selection(value: any[]); /** @ignore */ _onTouched?: () => void; /** @ignore */ _isDisabled: boolean; private _onChange?; private _selected; private _items; constructor(_cd: ChangeDetectorRef); /** * @ignore */ writeValue(obj: any): void; /** * @ignore */ registerOnChange(fn: (_: any) => void): void; /** * @ignore */ registerOnTouched(fn: () => void): void; /** * Sets the disabled state and marks for check if a change occurred. * @ignore */ setDisabledState(isDisabled: boolean): void; /** @ignore */ ngOnChanges(changes: SimpleChanges): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class SelectionPanelModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { SelectionPanelDirective, SelectionPanelItemComponent, SelectionPanelModule };