1*c8dee2aaSAndroid Build Coastguard Workerdeclare namespace public_api { 2*c8dee2aaSAndroid Build Coastguard Worker export interface CanvasKit { 3*c8dee2aaSAndroid Build Coastguard Worker publicExtension(myRects: InputFlattenedRectArray): number; 4*c8dee2aaSAndroid Build Coastguard Worker sayHello(x: number, y: number): void; 5*c8dee2aaSAndroid Build Coastguard Worker publicFunction(input: string): void; 6*c8dee2aaSAndroid Build Coastguard Worker withObject(obj: CompoundObj): void; 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Worker readonly Extension: ExtensionConstructor; 9*c8dee2aaSAndroid Build Coastguard Worker readonly Something: SomethingConstructor; 10*c8dee2aaSAndroid Build Coastguard Worker } 11*c8dee2aaSAndroid Build Coastguard Worker 12*c8dee2aaSAndroid Build Coastguard Worker export interface ExtensionConstructor { 13*c8dee2aaSAndroid Build Coastguard Worker new(): Extension; 14*c8dee2aaSAndroid Build Coastguard Worker new(name: string): Extension; 15*c8dee2aaSAndroid Build Coastguard Worker } 16*c8dee2aaSAndroid Build Coastguard Worker 17*c8dee2aaSAndroid Build Coastguard Worker export interface SomethingConstructor { 18*c8dee2aaSAndroid Build Coastguard Worker new(name: string): Something; 19*c8dee2aaSAndroid Build Coastguard Worker } 20*c8dee2aaSAndroid Build Coastguard Worker 21*c8dee2aaSAndroid Build Coastguard Worker export interface Extension extends EmbindObject<Extension> { 22*c8dee2aaSAndroid Build Coastguard Worker getProp(): string; 23*c8dee2aaSAndroid Build Coastguard Worker setProp(p: string): void; 24*c8dee2aaSAndroid Build Coastguard Worker } 25*c8dee2aaSAndroid Build Coastguard Worker 26*c8dee2aaSAndroid Build Coastguard Worker export interface Something extends EmbindObject<Something> { 27*c8dee2aaSAndroid Build Coastguard Worker getName(): string; 28*c8dee2aaSAndroid Build Coastguard Worker setName(name: string): void; 29*c8dee2aaSAndroid Build Coastguard Worker } 30*c8dee2aaSAndroid Build Coastguard Worker 31*c8dee2aaSAndroid Build Coastguard Worker export interface CompoundObj { 32*c8dee2aaSAndroid Build Coastguard Worker alpha: number; 33*c8dee2aaSAndroid Build Coastguard Worker beta: string; 34*c8dee2aaSAndroid Build Coastguard Worker gamma?: number; 35*c8dee2aaSAndroid Build Coastguard Worker } 36*c8dee2aaSAndroid Build Coastguard Worker 37*c8dee2aaSAndroid Build Coastguard Worker export type InputFlattenedRectArray = Float32Array | number[]; 38*c8dee2aaSAndroid Build Coastguard Worker export type TypedArray = Float32Array | Int32Array; 39*c8dee2aaSAndroid Build Coastguard Worker 40*c8dee2aaSAndroid Build Coastguard Worker export interface EmbindObject<T extends EmbindObject<T>> { 41*c8dee2aaSAndroid Build Coastguard Worker clone(): T; 42*c8dee2aaSAndroid Build Coastguard Worker delete(): void; 43*c8dee2aaSAndroid Build Coastguard Worker deleteAfter(): void; 44*c8dee2aaSAndroid Build Coastguard Worker isAliasOf(other: any): boolean; 45*c8dee2aaSAndroid Build Coastguard Worker isDeleted(): boolean; 46*c8dee2aaSAndroid Build Coastguard Worker } 47*c8dee2aaSAndroid Build Coastguard Worker} 48