/**
 * Copies a geometry onto every point from the right input.
 *
 * @remarks
 * Creates an instance geometry, but instancing the geometry in the left input onto every point from the right input. This is a great way to display a lot of geometries on screen with little performance penalty.
 *
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
declare class InstanceSopParamsConfig extends NodeParamsConfig {
    /** @param attributes to copy to the instance */
    attributesToCopy: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.STRING>;
    /** @param toggles on to apply a material. This is useful in most cases, but there may be situations where the material would be apply later, such as when you are feeding this node to a particles system */
    applyMaterial: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
    /** @param material to apply */
    material: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.NODE_PATH>;
}
export declare class InstanceSopNode extends TypedSopNode<InstanceSopParamsConfig> {
    params_config: InstanceSopParamsConfig;
    static type(): string;
    static displayedInputNames(): string[];
    initializeNode(): void;
    private _operation;
    cook(input_contents: CoreGroup[]): Promise<void>;
}
export {};
