import type { Node } from '../node/Node'; import { NodeComponent } from './NodeComponent'; export type PythonComponentDataType = 'static' | 'dynamic'; export declare class PythonComponentData { type: T; data: N; constructor(type: T, data: N); } type ParseArgumentData = { name: string; type: string; required: boolean; help: string; }; export declare class PythonNodeComponent extends NodeComponent { static isDynamicInput(inputs: Record): boolean; data(inputs: { [x: string]: PythonComponentData[]; }): Promise>; dataCodeGetters: Record string>; private importsStatements; private code; private createdVariables; private actualCreatedVars; private dynamicOutputs; private classes; private initCode; private parseArguments; private codeTemplateGetters; private newlinesBefore; constructor({ owner }: { owner: Node; }); setDataCodeGetter(key: string, codeGetter: () => string): void; addImportStatement(...statements: string[]): void; addParseArgument(params: ParseArgumentData): void; addClass(code: string): void; addInitCode(code: string): void; addCode(...code: string[]): void; addVariable(...names: string[]): void; addVariables(...names: string[]): void; addDynamicOutput(...name: string[]): void; setCodeTemplateGetter(getter: ({ inputs }: { inputs: Record; }) => string, key?: string): void; setEmptyNewlinesBefore(numNewlines: number): void; private getCodeTemplate; private assignActualVars; static toPythonData(data: unknown): string; fetch(): Promise>; fetchInputs(): Promise>; private formatPythonVars; static collectPythonData(node: Node | null, nodeInput: string | null, indentation: string, allVars: Set): Promise<{ importsStatements: Set; code: string; allVars: Set; classes: Record; initCode: string[]; parserArguments: Map; }>; toPython(): Promise; } export {};