import * as t from "../types.js";
import { Effect } from "../gen/interfaces/metatype-typegraph-runtimes.js";
import { Materializer, Runtime } from "./mod.js";
interface LambdaMat extends Materializer {
    fn: string;
    effect: Effect;
}
interface DefMat extends Materializer {
    fn: string;
    name: string;
    effect: Effect;
}
interface PythonImport {
    name: string;
    module: string;
    secrets?: Array<string>;
    effect?: Effect;
}
interface ImportMat extends Materializer {
    module: string;
    name: string;
}
export declare class PythonRuntime extends Runtime {
    constructor();
    fromLambda<P extends Record<string, t.Typedef> = Record<string, t.Typedef>, I extends t.Struct<P> = t.Struct<P>, O extends t.Typedef = t.Typedef>(inp: I, out: O, { code }: {
        code: string;
    }): t.Func<I, O, LambdaMat>;
    fromDef<P extends Record<string, t.Typedef> = Record<string, t.Typedef>, I extends t.Struct<P> = t.Struct<P>, O extends t.Typedef = t.Typedef>(inp: I, out: O, { code }: {
        code: string;
    }): t.Func<I, O, DefMat>;
    import<I extends t.Typedef = t.Typedef, O extends t.Typedef = t.Typedef>(inp: I, out: O, { name, module, effect, secrets }: PythonImport): t.Func<I, O, ImportMat>;
}
export {};
