import { IManagedObject } from '@c8y/client';
import { AbstractConfigurationStrategy, GridConfig, GridConfigContext, GridConfigContextProvider, UserPreferencesConfigurationStrategy, UserPreferencesGridConfigContext } from '@c8y/ngx-components';
import { AssetNodeService } from '@c8y/ngx-components/assets-navigator';
import { Observable } from 'rxjs';
import { SmartGroupGridConfigurationStrategy } from './smart-group-grid-configuration-strategy.service';
import * as i0 from "@angular/core";
export interface SubAssetsGridConfigContext extends UserPreferencesGridConfigContext {
    group: IManagedObject;
}
export declare class SubAssetsGridConfigurationStrategy extends AbstractConfigurationStrategy {
    protected userPreferencesConfigurationStrategy: UserPreferencesConfigurationStrategy;
    protected smartGroupGridConfigurationStrategy: SmartGroupGridConfigurationStrategy;
    protected assetNodeService: AssetNodeService;
    protected context: GridConfigContext;
    protected contextProvider: GridConfigContextProvider;
    constructor(userPreferencesConfigurationStrategy: UserPreferencesConfigurationStrategy, smartGroupGridConfigurationStrategy: SmartGroupGridConfigurationStrategy, assetNodeService: AssetNodeService, context: GridConfigContext, contextProvider: GridConfigContextProvider);
    getConfig$(context?: SubAssetsGridConfigContext): Observable<GridConfig>;
    saveConfig$(config: GridConfig, context?: SubAssetsGridConfigContext): Observable<GridConfig>;
    private getStrategy;
    static ɵfac: i0.ɵɵFactoryDeclaration<SubAssetsGridConfigurationStrategy, [null, null, null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SubAssetsGridConfigurationStrategy>;
}
//# sourceMappingURL=sub-assets-grid-configuration-strategy.service.d.ts.map