import { Orientation, SignalRef, Text } from 'vega';
import { CompositeMark, CompositeMarkDef } from '.';
import { Field, PositionFieldDef, SecondaryFieldDef, StringFieldDef, StringFieldDefWithCondition, StringValueDefWithCondition } from '../channeldef';
import { Encoding } from '../encoding';
import { ExprRef } from '../expr';
import { ColorMixins, GenericMarkDef, Mark, AnyMarkConfig, MarkDef } from '../mark';
import { GenericUnitSpec, NormalizedUnitSpec } from '../spec';
export type PartsMixins
= Partial>>;
export type GenericCompositeMarkDef = GenericMarkDef & ColorMixins & {
/**
* The opacity (value between [0,1]) of the mark.
*
* @minimum 0
* @maximum 1
*/
opacity?: number;
/**
* Whether a composite mark be clipped to the enclosing group’s width and height.
*/
clip?: boolean;
};
export interface CompositeMarkTooltipSummary {
/**
* The prefix of the field to be shown in tooltip
*/
fieldPrefix: string;
/**
* The title prefix to show, corresponding to the field with field prefix `fieldPrefix`
*/
titlePrefix: Text | SignalRef;
}
export declare function filterTooltipWithAggregatedField(oldEncoding: Encoding): {
customTooltipWithoutAggregatedField?: StringFieldDefWithCondition | StringValueDefWithCondition | StringFieldDef[];
filteredEncoding: Encoding;
};
export declare function getCompositeMarkTooltip(tooltipSummary: CompositeMarkTooltipSummary[], continuousAxisChannelDef: PositionFieldDef, encodingWithoutContinuousAxis: Encoding, withFieldName?: boolean): Encoding;
export declare function getTitle(continuousAxisChannelDef: PositionFieldDef): SignalRef | Text;
export declare function makeCompositeAggregatePartFactory>(compositeMarkDef: GenericCompositeMarkDef & P, continuousAxis: 'x' | 'y', continuousAxisChannelDef: PositionFieldDef, sharedEncoding: Encoding, compositeMarkConfig: P): ({ partName, mark, positionPrefix, endPositionPrefix, extraEncoding }: {
partName: keyof P;
mark: Mark | MarkDef;
positionPrefix: string;
endPositionPrefix?: string;
extraEncoding?: Encoding;
}) => NormalizedUnitSpec[];
export declare function partLayerMixins>(markDef: GenericCompositeMarkDef & P, part: keyof P, compositeMarkConfig: P, partBaseSpec: NormalizedUnitSpec): NormalizedUnitSpec[];
export declare function compositeMarkContinuousAxis(spec: GenericUnitSpec, CompositeMark | CompositeMarkDef>, orient: Orientation, compositeMark: M): {
continuousAxisChannelDef: PositionFieldDef;
continuousAxisChannelDef2: SecondaryFieldDef;
continuousAxisChannelDefError: SecondaryFieldDef;
continuousAxisChannelDefError2: SecondaryFieldDef;
continuousAxis: 'x' | 'y';
};
export declare function compositeMarkOrient(spec: GenericUnitSpec, CompositeMark | CompositeMarkDef>, compositeMark: M): Orientation;
//# sourceMappingURL=common.d.ts.map