/// declare module d3 { export function superformula(): Superformula; module superformula { interface Type { m: number; n1: number; n2: number; n3: number; a: number; b: number; } } interface Superformula { (datum: T, index: number): string; type(): (datum: T, index: number) => string; type(type: string): Superformula; type(type: (datum: T, index: number) => string): Superformula; size(): (datum: T, index: number) => number; size(size: number): Superformula; size(size: (datum: T, index: number) => number): Superformula; segments(): (datum: T, index: number) => number; segments(segments: number): Superformula; segments(segments: (datum: T, index: number) => number): Superformula; param(name: string): number; param(name: string, value: number): Superformula; } export var superformulaTypes: string[]; }