import * as Morphir_IR_Name from "./../../morphir/ir/name";
import * as Morphir_IR_Package from "./../../morphir/ir/package";
import * as Morphir_IR_Path from "./../../morphir/ir/path";
import * as Morphir_IR_Type from "./../../morphir/ir/type";
import * as Morphir_IR_Value from "./../../morphir/ir/value";
export type Component = {
    name: Morphir_IR_Path.Path;
    libraries: Map<Morphir_IR_Package.PackageName, Morphir_IR_Package.Definition<[], Morphir_IR_Type.Type<[]>>>;
    inputs: Map<Morphir_IR_Name.Name, Morphir_IR_Type.Type<[]>>;
    states: Map<Morphir_IR_Name.Name, Morphir_IR_Type.Type<[]>>;
    outputs: Map<Morphir_IR_Name.Name, Morphir_IR_Value.Value<[], Morphir_IR_Type.Type<[]>>>;
};
export declare function decodeComponent(input: any): Component;
export declare function encodeComponent(value: Component): any;
export type Distribution = Library;
export declare function decodeDistribution(input: any): Distribution;
export declare function encodeDistribution(value: Distribution): any;
export declare class Library {
    packageName: Morphir_IR_Package.PackageName;
    dependencies: Map<Morphir_IR_Package.PackageName, Morphir_IR_Package.Specification<[]>>;
    packageDef: Morphir_IR_Package.Definition<[
    ], Morphir_IR_Type.Type<[]>>;
    kind: "Library";
    constructor(packageName: Morphir_IR_Package.PackageName, dependencies: Map<Morphir_IR_Package.PackageName, Morphir_IR_Package.Specification<[]>>, packageDef: Morphir_IR_Package.Definition<[
    ], Morphir_IR_Type.Type<[]>>);
}
export declare function decodeLibrary(input: any): Library;
export declare function encodeLibrary(value: Library): any;
declare const _default: {};
export default _default;
