import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core'; import { AbstractControl, ControlValueAccessor, FormGroup, ValidationErrors, Validator } from '@angular/forms'; import { DynamicSelectFieldConfig, SelectOption } from '../dynamic-select/dynamic-select-field.component'; import { RadioCardOption } from '../radio-card-group/radio-card-option.model'; import * as i0 from "@angular/core"; export declare type ViewportSelectionMode = 'desktop' | 'laptop' | 'mobile' | 'custom'; export interface ViewportSelectorValue { mode: ViewportSelectionMode; device?: string | null; customValue?: string | null; } export declare class ViewportSelectorComponent implements ControlValueAccessor, Validator, OnChanges { label: string; required: boolean; disabled: boolean; desktopLabel: string; laptopLabel: string; mobileLabel: string; customLabel: string; desktopDeviceLabel: string; desktopDevicePlaceholder: string; desktopDeviceOptions: SelectOption[]; laptopDeviceLabel: string; laptopDevicePlaceholder: string; laptopDeviceOptions: SelectOption[]; mobileDeviceLabel: string; mobileDevicePlaceholder: string; mobileDeviceOptions: SelectOption[]; customValueLabel: string; customValuePlaceholder: string; customValueHint: string; valueChange: EventEmitter; readonly modeOptions: RadioCardOption[]; readonly desktopDeviceForm: FormGroup; readonly laptopDeviceForm: FormGroup; readonly mobileDeviceForm: FormGroup; desktopDeviceConfig: DynamicSelectFieldConfig; laptopDeviceConfig: DynamicSelectFieldConfig; mobileDeviceConfig: DynamicSelectFieldConfig; customInputValue: string; internalValue: ViewportSelectorValue; private onChange; private onTouched; private onValidatorChange; ngOnChanges(changes: SimpleChanges): void; writeValue(value: ViewportSelectorValue | null | undefined): void; registerOnChange(fn: (value: ViewportSelectorValue) => void): void; registerOnTouched(fn: () => void): void; registerOnValidatorChange(fn: () => void): void; setDisabledState(isDisabled: boolean): void; validate(_control: AbstractControl): ValidationErrors | null; get isDesktopMode(): boolean; get isLaptopMode(): boolean; get isMobileMode(): boolean; get isCustomMode(): boolean; onModeChange(mode: string | null): void; onDesktopSelectionChange(selection: { value: any; }): void; onLaptopSelectionChange(selection: { value: any; }): void; onMobileSelectionChange(selection: { value: any; }): void; addCustomValue(rawValue?: string): void; clearCustomValue(): void; private emitValue; private normalizeValue; private normalizeCustomValue; private isValidMode; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }