/** * Creates a raw accessor for a single channel definition branch and attaches * metadata used by scale resolution and equality checks. * * @param {import("../spec/channel.js").Channel} channel * @param {import("../spec/channel.js").ChannelDef | import("../spec/channel.js").Conditional} channelDef * @param {{ createExpression: (expr: string) => import("../paramRuntime/types.js").ExprRefFunction }} paramRuntime * @returns {import("../types/encoder.js").Accessor} */ export function createAccessor(channel: import("../spec/channel.js").Channel, channelDef: import("../spec/channel.js").ChannelDef | import("../spec/channel.js").Conditional, paramRuntime: { createExpression: (expr: string) => import("../paramRuntime/types.js").ExprRefFunction; }): import("../types/encoder.js").Accessor; /** * @param {import("../types/encoder.js").Accessor} accessor * @returns {accessor is import("../types/encoder.js").ScaleAccessor} */ export function isScaleAccessor(accessor: import("../types/encoder.js").Accessor): accessor is import("../types/encoder.js").ScaleAccessor; /** * Builds domain key strings in the format: * - domainKeyBase: || * - domainKey: | * * @param {object} options * @param {import("../spec/channel.js").ChannelWithScale} options.scaleChannel * @param {DomainKeySource} options.source * @param {import("../spec/channel.js").Type} [options.type] * @returns {{ domainKeyBase: string, domainKey?: string }} */ export function buildDomainKey({ scaleChannel, source, type }: { scaleChannel: import("../spec/channel.js").ChannelWithScale; source: DomainKeySource; type?: import("../spec/channel.js").Type; }): { domainKeyBase: string; domainKey?: string; }; /** * @param {import("../types/encoder.js").ScaleAccessor} accessor * @param {import("../spec/channel.js").Type} type * @returns {string} */ export function getAccessorDomainKey(accessor: import("../types/encoder.js").ScaleAccessor, type: import("../spec/channel.js").Type): string; export type DomainKeySource = { kind: "field"; value: string; } | { kind: "expr"; value: string; } | { kind: "datum"; value: import("../spec/channel.js").Scalar | import("../spec/parameter.js").ExprRef; } | { kind: "value"; value: import("../spec/channel.js").Scalar | import("../spec/parameter.js").ExprRef; }; //# sourceMappingURL=accessor.d.ts.map