1cb93a386Sopenharmony_ci/// <reference path="load.ts" />
2cb93a386Sopenharmony_ci/// <reference path="../bindings/core.d.ts" />
3cb93a386Sopenharmony_ci/// <reference path="public_api.d.ts" />
4cb93a386Sopenharmony_ci// eslint-disable-next-line @typescript-eslint/no-unused-vars
5cb93a386Sopenharmony_cinamespace Core {
6cb93a386Sopenharmony_ci  // Module is the C++ module with the private (and some public) bindings on it.
7cb93a386Sopenharmony_ci  declare const Module: core.Bindings;
8cb93a386Sopenharmony_ci  declare const CanvasKit: public_api.CanvasKit;
9cb93a386Sopenharmony_ci  load.afterLoad(() => {
10cb93a386Sopenharmony_ci    /**
11cb93a386Sopenharmony_ci     * This function says hello
12cb93a386Sopenharmony_ci     *
13cb93a386Sopenharmony_ci     * @param x some number
14cb93a386Sopenharmony_ci     * @param y some other number
15cb93a386Sopenharmony_ci     * @ts sayHello(x: number, y: number): void;
16cb93a386Sopenharmony_ci     */
17cb93a386Sopenharmony_ci    CanvasKit.sayHello = (x: number, y: number) => {
18cb93a386Sopenharmony_ci      console.log('hello', Module._privateFunction(x, y));
19cb93a386Sopenharmony_ci    };
20cb93a386Sopenharmony_ci
21cb93a386Sopenharmony_ci    /**
22cb93a386Sopenharmony_ci     * This sets the name twice for good measure.
23cb93a386Sopenharmony_ci     * @param name some param
24cb93a386Sopenharmony_ci     * @ts Something::setName(name: string): void;
25cb93a386Sopenharmony_ci     */
26cb93a386Sopenharmony_ci    CanvasKit.Something.prototype.setName = function setName(name: string) {
27cb93a386Sopenharmony_ci      this._setName(name + name);
28cb93a386Sopenharmony_ci    };
29cb93a386Sopenharmony_ci  });
30cb93a386Sopenharmony_ci}
31