import type { EventOperation, Operation, TagOperation } from "../factories/types.js"; /** An array of Symbols to preserve when building events with {@link eventPipe} */ export declare const PRESERVE_EVENT_SYMBOLS: Set; export declare function identity(x: T): T; /** The core method that creates a pipeline to build an event */ export declare function eventPipe(...operations: (EventOperation | undefined)[]): EventOperation; /** The core method that creates a pipeline to create or modify an array of tags */ export declare function tagPipe(...operations: (TagOperation | undefined)[]): TagOperation; /** A pipeline operation that does nothing */ export declare function skip(): (value: T) => T; /** * Pipe a value through a series of async operations * @example * ```ts * const result = await pipe( * draft, * setContent("hello"), * addTag("p", pubkey), * sign(signer) * ); * ``` */ export declare function pipe(value: T, ...operations: Array<(v: any) => any | Promise>): Promise; /** * @param fns - An array of operations to pipe together * @param preserve - If set an array of symbols to keep, all other symbols will be removed * @internal */ export declare function pipeFromAsyncArray(fns: Array>, preserve?: Set): Operation;