export type AbiMetadata = { metadataVersion : string ; source : { hash : string ; language : string ; compiler : string ; wasm : string ; } ; contract : { name : string ; version : string ; authors : string [ ] ; } ; V1 ? : { types : any [ ] ; spec : { constructors : any [ ] ; docs : any [ ] ; events : any [ ] ; messages : any [ ] ; } ; } ; V2 ? : { types : any [ ] ; spec : { constructors : any [ ] ; docs : any [ ] ; events : any [ ] ; messages : any [ ] ; } ; } ; } ; export interface Artifacts { readArtifact ( contractNameOrFullyQualifiedName ) : Promise < AbiMetadata > ; readArtifactSync ( contractNameOrFullyQualifiedName ) : AbiMetadata ; readAllArtifact ( ) : Promise < AbiMetadata [ ] > ; readAllArtifactSync ( ) : AbiMetadata [ ] ; getArtifactPath ( contractNameOrFullyQualifiedName ) : Promise < string > ; getArtifactPathSync ( contractNameOrFullyQualifiedName ) : string ; artifactExists ( contractNameOrFullyQualifiedName ) : Promise < boolean > ; getArtifactPaths ( ) : Promise < string [ ] > ; copyToArtifactDir ( paths ) : Promise < void > ; }