/**
 * Base class of Exporter nodes
 *
 * @remarks
 */
import { CADSopNode } from './_BaseCAD';
import { BaseExporterSopParamsConfig } from './_BaseExporter';
import { CoreGroup } from '../../../core/geometry/Group';
export declare abstract class CADExporterSopNode<K extends BaseExporterSopParamsConfig> extends CADSopNode<K> {
    abstract fileExtension(): string;
    abstract createBlob(): Promise<Blob>;
    initializeNode(): void;
    cook(inputCoreGroups: CoreGroup[]): Promise<void>;
    static PARAM_CALLBACK_download(node: CADExporterSopNode<BaseExporterSopParamsConfig>): void;
    fileName(): Promise<string>;
    _paramCallbackDownload(): Promise<void>;
    protected _prepareScene(): Promise<{
        cadObjects: import("../../../core/geometry/modules/cad/CadObject").CadObject<import("../../../core/geometry/modules/cad/CadCommon").CadGeometryType>[];
    } | undefined>;
}
