import { NodeParamsConfig } from '../../../utils/params/ParamsConfig';
import { CustomMaterialName } from '../../../../../core/geometry/Material';
import { Constructor } from '../../../../../types/GlobalTypes';
import { Material } from 'three';
import { TypedMatNode } from '../../_Base';
export declare function CustomMaterialLineParamConfig<TBase extends Constructor>(Base: TBase): {
    new (...args: any[]): {
        /** @param toggle off to choose which customMaterials will be generated */
        overrideCustomMaterials: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.BOOLEAN>;
        /** @param distance */
        createCustomMatDistance: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.BOOLEAN>;
        /** @param depth */
        createCustomMatDepth: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.BOOLEAN>;
        /** @param depth DOF */
        createCustomMatDepthDOF: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.BOOLEAN>;
    };
} & TBase;
declare const CustomMaterialLineParamsConfig_base: {
    new (...args: any[]): {
        /** @param toggle off to choose which customMaterials will be generated */
        overrideCustomMaterials: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.BOOLEAN>;
        /** @param distance */
        createCustomMatDistance: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.BOOLEAN>;
        /** @param depth */
        createCustomMatDepth: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.BOOLEAN>;
        /** @param depth DOF */
        createCustomMatDepthDOF: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.BOOLEAN>;
    };
} & {
    new (...args: any[]): {
        setBuilderNode: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.BOOLEAN>;
        builderNode: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.NODE_PATH>;
    };
} & typeof NodeParamsConfig;
declare class CustomMaterialLineParamsConfig extends CustomMaterialLineParamsConfig_base {
}
declare abstract class CustomMaterialMatNode<M extends Material> extends TypedMatNode<M, CustomMaterialLineParamsConfig> {
}
export declare function materialLineAssemblerCustomMaterialRequested(node: CustomMaterialMatNode<any>, customName: CustomMaterialName): boolean;
export {};
