/// <reference path="embind.d.ts" />
/* This file is autogenerated using gen_types.go and make generate */
declare namespace extension {
	export interface Bindings {
		_privateExtension(rPtr: number, len: number): number;
		_withObject(obj: CompoundObj): void;


		readonly Extension: ExtensionConstructor;

	}

	export interface ExtensionConstructor {
		new(name?: string): Extension;
	}

	export interface Extension extends embind.EmbindObject<Extension> {
		setProp(p: string): void;

		getProp(): string;
	}

	export interface CompoundObj {
		alpha: number,
		beta: string,
		gamma?: number,
	}
}
