import type { SignalRef } from 'vega'; import { FieldName } from '../channeldef'; import { Config } from '../config'; import { Encoding } from '../encoding'; import { ParameterPredicate } from '../predicate'; import { ExprRef } from '../expr'; import { Projection } from '../projection'; import { TopLevelSelectionParameter } from '../selection'; import { GenericSpec, NormalizedSpec } from '../spec'; import { GenericLayerSpec, NormalizedLayerSpec } from '../spec/layer'; import { GenericUnitSpec, NormalizedUnitSpec } from '../spec/unit'; import { Dict } from '../util'; import { RepeaterValue } from './repeater'; export type Normalize, NS extends NormalizedSpec> = (spec: S, params: NormalizerParams) => NS; export interface ExtraNormalizer, // Input type O extends NormalizedSpec, // Output Type SN extends GenericSpec = S> { name: string; hasMatchingType: (spec: GenericSpec, config: Config) => spec is S; run(spec: S, params: NormalizerParams, normalize: Normalize): O; } export type NonFacetUnitNormalizer> = ExtraNormalizer | GenericLayerSpec>; export type NormalizeLayerOrUnit = Normalize | GenericLayerSpec, NormalizedUnitSpec | NormalizedLayerSpec>; export interface NormalizerParams { config: Config; parentEncoding?: Encoding; parentProjection?: Projection; repeater?: RepeaterValue; repeaterPrefix?: string; selections?: TopLevelSelectionParameter[]; emptySelections?: Dict; selectionPredicates?: Dict; path?: string[]; } //# sourceMappingURL=base.d.ts.map