import * as i0 from '@angular/core'; import { EventEmitter, TemplateRef } from '@angular/core'; import * as i7 from '@angular/forms'; import { ControlValueAccessor } from '@angular/forms'; import { Observable, BehaviorSubject } from 'rxjs'; import * as i3 from '@angular/common'; import * as i4 from '@obliczeniowo/elementary/icons'; import * as i5 from '@obliczeniowo/elementary/buttons'; import * as i6 from '@angular/cdk/overlay'; import * as i8 from '@obliczeniowo/elementary/loading'; interface ValuePickerItem { value: T; extData?: Ext; } declare abstract class AbstractValueSetModel { set: ValuePickerItem[]; max: number; columns: number; loading: boolean; abstract init(current?: ValuePickerItem): Observable; abstract getNextSet(): Observable; abstract getPreviousSet(): Observable; abstract getCurrentSet(): Observable; abstract displayNextPrevious(): Observable; abstract next(current?: ValuePickerItem): Observable; abstract previous(current?: ValuePickerItem): Observable; nextDisabled(): Observable; previousDisabled(): Observable; decreaseDisabled(current?: ValuePickerItem): boolean; increaseDisabled(current?: ValuePickerItem): boolean; selected(item: ValuePickerItem, current?: ValuePickerItem): boolean; } interface PickerSettings { className?: string; } interface ValuePickerDisplay { nextPrevious?: boolean; } declare class ValuePickerComponent implements ControlValueAccessor { protected _current?: ValuePickerItem | undefined; /** * Input item that can have external optional data, must be the same reference object as one exist on items table */ set current(value: ValuePickerItem | undefined); get current(): ValuePickerItem | undefined; /** * items to pickup */ set items(value: ValuePickerItem[]); get items(): ValuePickerItem[]; /** * disable the whole things */ disabled: boolean; /** */ placeholder?: string; private _model; /** * Set model class that need to extends AbstractValueSetModel */ set model(value: AbstractValueSetModel); get model(): AbstractValueSetModel; /** * Options to control displaying different parts, right now only next/previous buttons */ display: ValuePickerDisplay; /** * Picker settings */ picker: PickerSettings; /** * Emit when picker value changed */ changed: EventEmitter>; /** define if list is opened */ isOpen: boolean; protected touched: boolean; protected valueRef?: TemplateRef; protected itemRef?: TemplateRef; onChange: (value: ValuePickerItem | undefined) => void; onTouched: () => void; registerOnValidatorChange(fn: () => void): void; writeValue(set?: ValuePickerItem): void; registerOnChange(onChange: any): void; registerOnTouched(onTouched: any): void; setDisabledState(disabled: boolean): void; markAsTouched(): void; previous(): void; next(): void; open(): void; toggle(): void; selected(item: ValuePickerItem): void; protected setValue(value: Observable): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ValuesSetComponent { /** * Input item that can have external optional data, must be the same reference object as one exist on items table */ current?: ValuePickerItem; model: AbstractValueSetModel; itemRef?: TemplateRef; selected: EventEmitter>; next: EventEmitter; previous: EventEmitter; ngOnInit(): void; setOffset(type: 'next' | 'previous'): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ValuePickerModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class ValueSetStaticModel extends AbstractValueSetModel { offset: number; init(current?: ValuePickerItem): Observable; displayNextPrevious(): Observable; getNextSet(): Observable; getPreviousSet(): Observable; getCurrentSet(): Observable; next(current?: ValuePickerItem): Observable; previous(current?: ValuePickerItem): Observable; nextDisabled(): Observable; previousDisabled(): Observable; } type ActionType = 'previous' | 'next' | 'current' | 'default'; interface IdLike { id: number | string; [key: string]: any; } interface ValuePickerResp { items: ValuePickerItem[]; next: boolean; previous: boolean; } declare class ValueSetDynamicModel extends AbstractValueSetModel { values: BehaviorSubject | undefined>; protected observer: Observable | undefined>; getSet?: (model: ValueSetDynamicModel, type: ActionType, current?: ValuePickerItem) => Observable; protected get(type: ActionType, current?: ValuePickerItem): Observable; init(current?: ValuePickerItem | undefined): Observable; getNextSet(): Observable; getPreviousSet(): Observable; protected getPreviousNextSet(type: 'next' | 'previous', current?: ValuePickerItem): Observable; getCurrentSet(): Observable[]>; displayNextPrevious(): Observable; next(current?: ValuePickerItem): Observable; previous(current?: ValuePickerItem): Observable | undefined>; protected getPreviousNext(type: 'next' | 'previous', current?: ValuePickerItem): Observable | undefined>; nextDisabled(): Observable; previousDisabled(): Observable; decreaseDisabled(current?: ValuePickerItem): boolean; increaseDisabled(current?: ValuePickerItem): boolean; selected(item: ValuePickerItem, current?: ValuePickerItem): boolean; } export { AbstractValueSetModel, ValuePickerComponent, ValuePickerModule, ValueSetDynamicModel, ValueSetStaticModel, ValuesSetComponent }; export type { ActionType, IdLike, PickerSettings, ValuePickerDisplay, ValuePickerItem, ValuePickerResp };