### Example of endpoint exportation golang declaration ```golang // Typescript: TSDeclaration= Nullable = T | null; // Typescript: TSDeclaration= Record = { [P in K]: T; } // Typescript: interface type HTTPResponse struct { Data interface{} `json:"data"` Error interface{} `json:"error"` } // Typescript: interface type FormRequest struct { Req string `json:"req"` Count int `json:"count"` } // Typescript: interface type FormResponse struct { Test string `json:"test"` } // Typescript: TSEndpoint= path=/postTest; name=postTest; method=POST; request=FormRequest; response=FormResponse r.POST("/postTest", func(c *gin.Context) { var requestBody FormRequest if err := c.BindJSON(&requestBody); err != nil { response := HTTPResponse{Data: nil, Error: "wrongData"} c.JSON(http.StatusOK, response) } response := HTTPResponse{Data: FormResponse{Test: fmt.Sprintf("%d", requestBody.Count)}, Error: nil} c.JSON(http.StatusOK, response) }) ``` generated code ```typescript // // namespace server // export namespace server { export interface FormRequest { req: string; count: number; } export interface FormResponse { test: string; } export interface HTTPResponse { data: unknown; error: unknown; } // Typescript: TSEndpoint= path=/postTest; name=postTest; method=POST; request=FormRequest; response=FormResponse // server/server.go Line: 73 export const postTest = async (data: FormRequest): Promise<{ data: FormResponse; error: Nullable }> => { return (await api.POST("/postTest", data)) as { data: FormResponse; error: Nullable }; }; } ``` How to use in frontend ```typescript const input = { req: "some request", count: 456 }; const { data, error } = await server.postTest(input); if (!error) { console.log(data); result = data.test; } ``` exported code template [fetch template](./TsFetchTemplate.md)