/**
 * Caches the input geometry.
 *
 * @remarks
 * The cache node can be very handy when the input geometry takes a long time to compute and does not need to be updated frequently.
 *
 */
import { TypedSopNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { BaseParamType } from '../../params/_Base';
import { CoreGroup } from '../../../core/geometry/Group';
declare class CacheSopParamsConfig extends NodeParamsConfig {
    /** @param content of the cache (hidden) */
    cache: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.STRING>;
    /** @param clears the cache */
    reset: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BUTTON>;
}
export declare class CacheSopNode extends TypedSopNode<CacheSopParamsConfig> {
    params_config: CacheSopParamsConfig;
    static type(): string;
    static displayedInputNames(): string[];
    initializeNode(): void;
    cook(input_contents: CoreGroup[]): void;
    static PARAM_CALLBACK_reset(node: CacheSopNode, param: BaseParamType): void;
    param_callback_PARAM_CALLBACK_reset(): Promise<void>;
}
export {};
