// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT

{{- if .DeclarationReferences }} 
{{range .DeclarationReferences}}
/// <reference types="../{{.}}" />{{end}}{{- end}}

export namespace {{.Name}} { {{range .Structs}}
  {{- if or .IsBound .IsUsedAsData}}
  {{if .Comments }}{{range .Comments}}// {{ . }}{{end}}{{- end}}
  interface {{.Name}} { {{ if .IsUsedAsData }}
    {{- range .Fields}}{{if .Comments }}
    {{range .Comments}}//{{ . }}{{end}}{{- end}}
    {{.Name}}: {{.TypeAsTSType $.Name}};  {{- end}} {{ end }}
    {{- if .IsBound }}
    {{- range .Methods}}
  /**{{if .Comments }}
{{range .Comments}}    * {{ . }}{{end}}
    *{{end}}
    * @function {{.Name}}
{{range .Inputs}}    * @param {{"{"}}{{.JSType}}{{"}"}} {{.Name}}
{{end}}    *
    * @returns {Promise<{{.OutputsAsTSText $.Name}}>} 
    */
    {{.Name}}({{.InputsAsTSText $.Name}}): Promise<{{.OutputsAsTSText $.Name}}>;
    {{- end}}{{end}}
  }{{- end}}
  {{end}}

}

