import { SignalRef } from 'vega-typings/types';
import { PositionChannel } from '../../../channel';
import { SecondaryFieldDef, TypedFieldDef, ValueDef } from '../../../channeldef';
import { Mark, MarkDef } from '../../../mark';
import { VgEncodeEntry, VgValueRef } from '../../../vega.schema';
import { UnitModel } from '../../unit';
export declare function rectPosition(model: UnitModel, channel: 'x' | 'y', mark: 'bar' | 'rect' | 'image'): VgEncodeEntry;
export declare function rectBinPosition({ fieldDef, fieldDef2, channel, band, scaleName, markDef, spacing, reverse }: {
    fieldDef: TypedFieldDef<string>;
    fieldDef2?: ValueDef | SecondaryFieldDef<string> | SignalRef;
    channel: 'x' | 'y';
    band: number;
    scaleName: string;
    markDef: MarkDef<Mark>;
    spacing?: number;
    reverse: boolean;
}): {
    [x: string]: VgValueRef | VgValueRef[];
};
/**
 * Value Ref for binned fields
 */
export declare function rectBinRef({ channel, fieldDef, scaleName, markDef, band, offset }: {
    channel: PositionChannel;
    fieldDef: TypedFieldDef<string>;
    scaleName: string;
    markDef: MarkDef<Mark>;
    band: number;
    offset?: number;
}): VgValueRef | VgValueRef[];
//# sourceMappingURL=position-rect.d.ts.map