import { Signal } from '@angular/core';
import { DbxValueListItem } from '../list.view.value';
import { AbstractDbxValueListViewDirective } from '../list.view.value.directive';
import { Maybe } from '@dereekb/util';
import { DbxValueListViewContentComponent, DbxValueListViewConfig } from '../list.view.value.component';
import * as i0 from "@angular/core";
export interface DbxValueListGridViewConfig<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown> extends DbxValueListViewConfig<T, I, V> {
    grid?: Maybe<Partial<DbxValueListGridItemViewGridSizeConfig>>;
}
export interface DbxValueListGridItemViewGridSizeConfig {
    /**
     * Gap size in %, px, vw, vh
     */
    readonly gap: string;
    /**
     * Columns configuration.
     *
     * Example: repeat(auto-fill, minmax(200px, 1fr))
     */
    readonly columns: string;
}
export declare const DEFAULT_LIST_GRID_SIZE_CONFIG: DbxValueListGridItemViewGridSizeConfig;
/**
 * Optional parent directive used to control grid size.
 */
export declare class DbxValueListGridSizeDirective {
    readonly gridSize: import("@angular/core").InputSignal<Maybe<Partial<DbxValueListGridItemViewGridSizeConfig>>>;
    readonly gridSize$: import("rxjs").Observable<Maybe<Partial<DbxValueListGridItemViewGridSizeConfig>>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxValueListGridSizeDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DbxValueListGridSizeDirective, "[dbxListGridSize]", never, { "gridSize": { "alias": "dbxListGridSize"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}
/**
 * Content view for a DbxValueListGridView. 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 DbxValueListGridViewContentComponent<T, I extends DbxValueListItem<T> = DbxValueListItem<T>> extends DbxValueListViewContentComponent<T, I> {
    private readonly _gridSizeOverride;
    readonly inputGridConfig: import("@angular/core").InputSignal<Maybe<Partial<DbxValueListGridItemViewGridSizeConfig>>>;
    readonly gridConfigFromGridSizeSignal: Signal<Maybe<Partial<DbxValueListGridItemViewGridSizeConfig>>>;
    readonly gridConfigSignal: Signal<DbxValueListGridItemViewGridSizeConfig>;
    readonly trackByFunctionSignal: Signal<import("@angular/core").TrackByFunction<any> | ((index: number, item: import("../list.view.value").DbxValueListItemConfig<T, I>) => any)>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxValueListGridViewContentComponent<any, any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DbxValueListGridViewContentComponent<any, any>, "dbx-list-grid-view-content", never, { "inputGridConfig": { "alias": "grid"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
/**
 * Renders a grid view using input configuration. Requires a parent DbxListView.
 */
export declare class DbxValueListGridViewComponent<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown, C extends DbxValueListGridViewConfig<T, I, V> = DbxValueListGridViewConfig<T, I, V>> extends AbstractDbxValueListViewDirective<T, I, V, C> {
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxValueListGridViewComponent<any, any, any, any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DbxValueListGridViewComponent<any, any, any, any>, "dbx-list-grid-view", never, {}, {}, never, never, true, never>;
}
