import { MatSelectionListChange } from '@angular/material/list';
import { DbxListSelectionMode } from './list.view';
import { DbxValueListItem, AbstractDbxValueListViewConfig } from './list.view.value';
import { AbstractDbxValueListViewDirective } from './list.view.value.directive';
import { type Maybe } from '@dereekb/util';
import { DbxValueListViewContentComponent } from './list.view.value.component';
import * as i0 from "@angular/core";
export interface DbxSelectionValueListViewConfig<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown> extends AbstractDbxValueListViewConfig<T, I, V> {
    readonly multiple?: boolean;
}
/**
 * Content view for a DbxSelectionValueListView. It can be used directly in cases where the items are already configured, or want to be configured in a non-standard fashion.
 */
export declare class DbxSelectionValueListViewContentComponent<T, I extends DbxValueListItem<T> = DbxValueListItem<T>> extends DbxValueListViewContentComponent<T, I> {
    readonly multiple: import("@angular/core").InputSignal<Maybe<boolean>>;
    readonly selectionMode: import("@angular/core").InputSignal<Maybe<DbxListSelectionMode>>;
    readonly trackByFunctionSignal: import("@angular/core").Signal<import("@angular/core").TrackByFunction<any> | ((index: number, item: import("./list.view.value").DbxValueListItemConfig<T, I>) => any)>;
    constructor();
    matSelectionChanged(selection: MatSelectionListChange): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxSelectionValueListViewContentComponent<any, any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DbxSelectionValueListViewContentComponent<any, any>, "dbx-selection-list-view-content", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
/**
 * Renders a selection list view using input configuration. Requires a parent DbxListView.
 */
export declare class DbxSelectionValueListViewComponent<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown> extends AbstractDbxValueListViewDirective<T, I, V, DbxSelectionValueListViewConfig<T, I, V>> {
    readonly selectionMode$: import("rxjs").Observable<"select" | "view">;
    readonly selectionModeSignal: import("@angular/core").Signal<DbxListSelectionMode>;
    readonly multipleSignal: import("@angular/core").Signal<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxSelectionValueListViewComponent<any, any, any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DbxSelectionValueListViewComponent<any, any, any>, "dbx-selection-list-view", never, {}, {}, never, never, true, never>;
}
