import { CreateOptions, ObjectValue, ObjectValueWithVariables, Query } from "../shared/types";
import Node, { NodeProps } from "./Node";
/**
 * TODO
 * - Remove `queryCode`; consolidate with `query`; benefit of having them
 * separate was `queryCode` can be codegen'd differently, but this is not
 * necessary
 * - Add default values to arguments where possible
 * - Move all arguments into `CreateOptions` with type parameters if they have
 * generated types, then codegen concrete `CreateSourceOptions`
 */
export default function create<T extends Node = Node>({ NodeConstructor, token, query, queryId, queryCode, variableValues, override, options, }: {
    NodeConstructor?: new (props: NodeProps) => T;
    token: string;
    query?: Query<ObjectValueWithVariables> | null;
    queryId?: string;
    queryCode?: string;
    variableValues?: ObjectValue;
    override?: object | null;
    options?: CreateOptions;
}): T;
//# sourceMappingURL=create.d.ts.map