import { Set as Morphir_SDK_Set } from "morphir-elm/sdk";
export declare class CycleDetected<ComparableNode> {
    arg1: ComparableNode;
    arg2: ComparableNode;
    kind: "CycleDetected";
    constructor(arg1: ComparableNode, arg2: ComparableNode);
}
export declare function decodeCycleDetected<ComparableNode>(decodeComparableNode: (input: any) => ComparableNode, input: any): CycleDetected<ComparableNode>;
export declare function encodeCycleDetected<ComparableNode>(encodeComparableNode: (value: ComparableNode) => any, value: CycleDetected<ComparableNode>): any;
export declare class DAG<ComparableNode> {
    arg1: Map<ComparableNode, Morphir_SDK_Set.Set<ComparableNode>>;
    kind: "DAG";
    constructor(arg1: Map<ComparableNode, Morphir_SDK_Set.Set<ComparableNode>>);
}
export declare function decodeDAG<ComparableNode>(decodeComparableNode: (input: any) => ComparableNode, input: any): DAG<ComparableNode>;
export declare function encodeDAG<ComparableNode>(encodeComparableNode: (value: ComparableNode) => any, value: DAG<ComparableNode>): any;
declare const _default: {};
export default _default;
