import { ListLoadingStateContext, MaybeObservableOrValue } from '@dereekb/rxjs';
import { Observable } from 'rxjs';
import { OnDestroy, TrackByFunction } from '@angular/core';
import { DbxListSelectionMode, DbxListView } from './list.view';
import { type Maybe } from '@dereekb/util';
import * as i0 from "@angular/core";
import * as i1 from "./list.view.value.component";
export declare const DEFAULT_DBX_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE = "<dbx-list-view [config]=\"config\"></dbx-list-view>";
export declare class DbxValueListViewComponentImportsModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxValueListViewComponentImportsModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<DbxValueListViewComponentImportsModule, never, [typeof i1.DbxValueListViewComponent], [typeof i1.DbxValueListViewComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<DbxValueListViewComponentImportsModule>;
}
/**
 * Abstract DbxListView implementation.
 *
 * You might consider extending AbstractDbxSelectionListViewDirective instead, as it includes selection support.
 */
export declare abstract class AbstractDbxListViewDirective<T> implements DbxListView<T>, OnDestroy {
    readonly valuesArray: import("@angular/core").InputSignal<Maybe<T[]>>;
    readonly values: import("@angular/core").InputSignal<MaybeObservableOrValue<T[]>>;
    private readonly _trackBy;
    private readonly _disabled;
    private readonly _selectionMode;
    private readonly _valuesOverride;
    readonly trackBy$: Observable<Maybe<TrackByFunction<T>>>;
    readonly _inputValuesArray$: Observable<Maybe<T[]>>;
    readonly _inputValues$: Observable<MaybeObservableOrValue<T[]>>;
    readonly _values$: Observable<Maybe<T[]>>;
    readonly values$: Observable<T[]>;
    readonly disabled$: Observable<boolean>;
    readonly selectionMode$: Observable<Maybe<DbxListSelectionMode>>;
    readonly clickValue: import("@angular/core").OutputEmitterRef<T>;
    ngOnDestroy(): void;
    onClickValue(value: T): void;
    setListContext(state: ListLoadingStateContext<T>): void;
    setValues(values: MaybeObservableOrValue<T[]>): void;
    setDisabled(disabled: boolean): void;
    setSelectionMode(selectionMode: Maybe<DbxListSelectionMode>): void;
    setTrackBy(trackBy: Maybe<TrackByFunction<T>>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxListViewDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractDbxListViewDirective<any>, never, never, { "valuesArray": { "alias": "valuesArray"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; }, { "clickValue": "clickValue"; }, never, never, false, never>;
}
