import { Observable } from 'rxjs';
import { DataGridConfigurationStrategy, GridConfigContext, GridConfigContextProvider } from './data-grid-configuration.model';
import { GridConfig } from './data-grid.model';
/**
 * Implements common functionality for grid configuration strategies.
 */
export declare abstract class AbstractConfigurationStrategy implements DataGridConfigurationStrategy {
    protected context: GridConfigContext;
    protected contextProvider: GridConfigContextProvider;
    constructor(context: GridConfigContext, contextProvider: GridConfigContextProvider);
    abstract getConfig$(context?: GridConfigContext): Observable<GridConfig>;
    abstract saveConfig$(config: GridConfig, context?: GridConfigContext): Observable<GridConfig>;
    getContext(): GridConfigContext;
    isContextKnown(): boolean;
    protected retrieveContext<T extends GridConfigContext>(context?: T): T;
}
//# sourceMappingURL=abstract-configuration-strategy.d.ts.map