import { Node } from "1e14";
import { Muxed } from "../types";
export declare type In<T> = {
    /**
     * Multiplexed input value.
     */
    d_mux: Muxed<T>;
};
export declare type Out<T> = T;
/**
 * De-multiplexes input value.
 * Forwards de-multiplexed input values to corresponding output ports.
 * @link https://github.com/1e14/1e14/wiki/Demuxer
 */
export declare type Demuxer<T> = Node<In<T>, Out<T>>;
/**
 * Creates a Demuxer node.
 * @param fields List of output fields.
 */
export declare function createDemuxer<T>(fields: Array<keyof T>): Demuxer<T>;
