import { VgData } from '../../vega.schema.js';
import { FacetModel } from '../facet.js';
import { DataFlowNode } from './dataflow.js';
/**
 * A node that helps us track what fields we are faceting by.
 */
export declare class FacetNode extends DataFlowNode {
    readonly model: FacetModel;
    readonly name: string;
    data: string;
    private readonly column;
    private readonly row;
    private readonly facet;
    private readonly childModel;
    /**
     * @param model The facet model.
     * @param name The name that this facet source will have.
     * @param data The source data for this facet data.
     */
    constructor(parent: DataFlowNode, model: FacetModel, name: string, data: string);
    hash(): string;
    get fields(): string[];
    dependentFields(): Set<string>;
    producedFields(): Set<string>;
    /**
     * The name to reference this source is its name.
     */
    getSource(): string;
    private getChildIndependentFieldsWithStep;
    private assembleRowColumnHeaderData;
    private assembleFacetHeaderData;
    assemble(): VgData[];
}
//# sourceMappingURL=facet.d.ts.map