| declare namespace public_api { | |
| export interface CanvasKit { | |
| publicExtension(myRects: InputFlattenedRectArray): number; | |
| sayHello(x: number, y: number): void; | |
| publicFunction(input: string): void; | |
| withObject(obj: CompoundObj): void; | |
| readonly Extension: ExtensionConstructor; | |
| readonly Something: SomethingConstructor; | |
| } | |
| export interface ExtensionConstructor { | |
| new(): Extension; | |
| new(name: string): Extension; | |
| } | |
| export interface SomethingConstructor { | |
| new(name: string): Something; | |
| } | |
| export interface Extension extends EmbindObject<Extension> { | |
| getProp(): string; | |
| setProp(p: string): void; | |
| } | |
| export interface Something extends EmbindObject<Something> { | |
| getName(): string; | |
| setName(name: string): void; | |
| } | |
| export interface CompoundObj { | |
| alpha: number; | |
| beta: string; | |
| gamma?: number; | |
| } | |
| export type InputFlattenedRectArray = Float32Array | number[]; | |
| export type TypedArray = Float32Array | Int32Array; | |
| export interface EmbindObject<T extends EmbindObject<T>> { | |
| clone(): T; | |
| delete(): void; | |
| deleteAfter(): void; | |
| isAliasOf(other: any): boolean; | |
| isDeleted(): boolean; | |
| } | |
| } |