import { GenericSpec } from '.';
import { Field, FieldName } from '../channeldef';
import { GenericConcatSpec, GenericHConcatSpec, GenericVConcatSpec } from './concat';
import { GenericFacetSpec } from './facet';
import { GenericLayerSpec } from './layer';
import { RepeatSpec } from './repeat';
import { GenericUnitSpec, NormalizedUnitSpec } from './unit';
export declare abstract class SpecMapper
, LI extends GenericLayerSpec = GenericLayerSpec, UO extends GenericUnitSpec = NormalizedUnitSpec, RO extends RepeatSpec = never, FO extends Field = FieldName> {
map(spec: GenericSpec, params: P): GenericSpec, RO, FO>;
mapLayerOrUnit(spec: UI | LI, params: P): UO | GenericLayerSpec;
abstract mapUnit(spec: UI, params: P): UO | GenericLayerSpec;
protected mapLayer(spec: LI, params: P): GenericLayerSpec;
protected mapHConcat(spec: GenericHConcatSpec>, params: P): GenericHConcatSpec, RO, FO>>;
protected mapVConcat(spec: GenericVConcatSpec>, params: P): GenericVConcatSpec, RO, FO>>;
protected mapConcat(spec: GenericConcatSpec>, params: P): GenericConcatSpec, RO, FO>>;
protected mapFacet(spec: GenericFacetSpec, params: P): GenericFacetSpec, FO>;
protected mapRepeat(spec: RepeatSpec, params: P): GenericSpec;
}
//# sourceMappingURL=map.d.ts.map