import type { FlowrSearchGeneratorNode, GeneratorNames } from '../search-executor/search-generators';
import type { FlowrSearchTransformerNode, TransformerNames } from '../search-executor/search-transformer';
import type { FlowrSearch } from '../flowr-search-builder';
import type { FlowrSearchElement, FlowrSearchElements } from '../flowr-search';
/**
 * Optimizations are currently not reflected
 * in an update of the search object.
 */
export declare function optimize<Info, Generator extends GeneratorNames, Transformers extends TransformerNames[], ElementType extends FlowrSearchElements<Info, FlowrSearchElement<Info>[]>>(generator: FlowrSearchGeneratorNode, search: readonly FlowrSearchTransformerNode[]): FlowrSearch<Info, Generator, Transformers, ElementType>;
