import { Vector } from './matter-ts/geometry'; import { Body, World, Composite, Constraint } from './matter-ts/body'; import { Render } from './matter-ts/render'; import { Engine, Runner } from './matter-ts/core'; import { Lib } from './lang/libpuppy2d'; import { PuppyCode } from './lang/puppy'; export declare const chooseColorScheme: (key: string) => string[]; export declare const PuppyShape: { [key: string]: (world: PuppyWorld, options: any) => any; }; export declare class PuppyWorld extends World { base: Puppy; width: number; height: number; timestamp: number; colors: string[]; darkmode: boolean; background: string; vars: any; lib: Lib; paints: Body[]; tickers: Body[]; constructor(base: Puppy, options?: any); allPaints(): Body[]; allTickers(): Body[]; private uniqueId; newId(): number; addBody(body: Body): this; removeBody(body: Body): this; newVec(ux?: number, uy?: number): Vector; newBody(options?: any): Body; newComposite(options?: any): Composite; newObject(options?: any): any; newConstraint(options?: any): Constraint; Rectangle(x: number, y: number, width: number, height: number, options?: any): Body; Circle(x: number, y: number, radius?: number, options?: any): Body; Variable(name: string, x: number, y: number, width: number, options?: any): Body; paint(x: number, y: number, radius?: number, color?: string): void; print(text: string, options?: any): void; line(linenum: number): void; private token; v(value: any, tkid: number): (value: any, tkid: number) => any; ckint(value: any, tkid: number): (value: any, tkid: number) => any; ckstr(value: any, tkid: number): (value: any, tkid: number) => any; trace(log: any): void; private lazyUpdates; setLazy(key: string, target: any, value: any): void; updateLazies(): void; setpos(target: Body, position: Vector): void; } export declare class Puppy { element: HTMLElement; code: PuppyCode; engine: Engine | null; render: Render | null; runner: Runner | null; runtime: IterableIterator | null; constructor(element: HTMLElement, options?: any); private eventMap; addEventListener(key: string, callback: (event: any) => void): void; trigger(key: string, event: any): void; load(source?: string, autorun?: boolean): boolean; private unload; private pausing; start(): void; execAll(runtime: IterableIterator): void; pause(): void; resize(width: number, height: number): void; }