1 declare namespace public_api {
2 export interface CanvasKit {
3 publicExtension(myRects: InputFlattenedRectArray): number;
4 sayHello(x: number, y: number): void;
5 publicFunction(input: string): void;
6 withObject(obj: CompoundObj): void;
8 readonly Extension: ExtensionConstructor;
9 readonly Something: SomethingConstructor;
12 export interface ExtensionConstructor {
14 new(name: string): Extension;
17 export interface SomethingConstructor {
18 new(name: string): Something;
21 export interface Extension extends EmbindObject<Extension> {
23 setProp(p: string): void;
26 export interface Something extends EmbindObject<Something> {
28 setName(name: string): void;
31 export interface CompoundObj {
37 export type InputFlattenedRectArray = Float32Array | number[];
38 export type TypedArray = Float32Array | Int32Array;
40 export interface EmbindObject<T extends EmbindObject<T>> {
44 isAliasOf(other: any): boolean;