///
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[];
}