import { Maybe, ModifierFunction } from '@dereekb/util';
import { Observable } from 'rxjs';
import { DbxListView } from './list.view';
import { AbstractDbxValueListViewConfig, DbxValueListItem, DbxValueListItemConfig, DbxValueListView } from './list.view.value';
import { DbxValueListItemModifier } from './list.view.value.modifier';
import * as i0 from "@angular/core";
/**
 * Abstract list directive that takes in items and a AbstractDbxValueItemListViewConfig configuration.
 */
export declare abstract class AbstractDbxValueListViewDirective<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown, C extends AbstractDbxValueListViewConfig<T, I, V> = AbstractDbxValueListViewConfig<T, I, V>> implements DbxValueListView<T, I> {
    readonly dbxListView: DbxListView<any, any>;
    readonly dbxValueListViewModifier: DbxValueListItemModifier<T, I> | null;
    readonly config: import("@angular/core").InputSignal<C>;
    readonly config$: Observable<C>;
    readonly modifyFn$: Observable<Maybe<ModifierFunction<I>>>;
    readonly items$: Observable<DbxValueListItemConfig<T, I>[]>;
    readonly itemsSignal: import("@angular/core").Signal<DbxValueListItemConfig<T, I>[] | undefined>;
    onClickValue(value: T): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxValueListViewDirective<any, any, any, any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractDbxValueListViewDirective<any, any, any, any>, never, never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; }, {}, never, never, false, never>;
}
