/**
 * @typedef {import("../spec/channel.js").Channel} Channel
 */
/**
 * @param {Channel} channel
 * @param {import("../spec/channel.js").Type} dataType
 * @returns {import("../spec/scale.js").ScaleType}
 */
export function getDefaultScaleType(channel: Channel, dataType: import("../spec/channel.js").Type): import("../spec/scale.js").ScaleType;
/**
 * Validates explicit scale type choices against the resolved data type and
 * channel constraints.
 *
 * @param {Channel} channel
 * @param {import("../spec/channel.js").Type} dataType
 * @param {import("../spec/scale.js").ScaleType | undefined} scaleType
 * @param {string} source
 */
export function validateScaleTypeCompatibility(channel: Channel, dataType: import("../spec/channel.js").Type, scaleType: import("../spec/scale.js").ScaleType | undefined, source: string): void;
/**
 * @param {import("../spec/scale.js").Scale} props
 * @param {Channel} channel
 */
export function applyLockedProperties(props: import("../spec/scale.js").Scale, channel: Channel): void;
export type Channel = import("../spec/channel.js").Channel;
//# sourceMappingURL=scaleRules.d.ts.map