import type { Add, Sub, Mul, Div, Pow, Trig, Abs, Eq } from "./types"; export declare class Complex implements Number, Add<[Complex | Number], Complex>, Sub<[Complex | Number], Complex>, Mul<[Complex | Number], Complex>, Div<[Complex | Number], Complex>, Pow<[Number], Complex>, Trig, Abs, Eq<[Complex | Number]> { real: number; imaginary: number; constructor(real?: number, imaginary?: number); static from(init: N): Complex; add(addend: Number | Complex): Complex; sub(subtrahend: Number | Complex): Complex; mul(multiplicand: Number | Complex): Complex; div(divisor: Number | Complex): Complex; pow(exponent: Number): Complex; sin(): Complex; cos(): Complex; tan(): Complex; abs(): Complex; eq(...other: [Number | Complex]): boolean; conjugate(): Complex; valueOf(): number; toFixed(fractionDigits?: number | undefined): string; toExponential(fractionDigits?: number | undefined): string; toPrecision(precision?: number | undefined): string; toString(_radix?: number | undefined): string; toLocaleString(locales?: unknown, options?: unknown): string; toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions | undefined): string; [Symbol.toPrimitive](hint: string): string | number; get [Symbol.toStringTag](): string; }