/**
 * Transistors — subset aligned with Python `elements/transistors.py`.
 */
import { Element } from "../element.js";
import { Element2Term } from "../element2term.js";
import { Point } from "../geometry/point.js";
/** Vertical NMOS. */
export declare class NMos extends Element {
    constructor(userParams?: Record<string, unknown> & {
        diode?: boolean;
        circle?: boolean;
    });
}
/** Vertical PMOS. */
export declare class PMos extends Element {
    constructor(userParams?: Record<string, unknown> & {
        diode?: boolean;
        circle?: boolean;
    });
}
export declare class NMos2 extends Element2Term {
    constructor(userParams?: Record<string, unknown> & {
        diode?: boolean;
        circle?: boolean;
    });
}
export declare class PMos2 extends Element2Term {
    constructor(userParams?: Record<string, unknown> & {
        diode?: boolean;
        circle?: boolean;
    });
}
export declare class NFet extends Element {
    constructor(userParams?: Record<string, unknown> & {
        bulk?: boolean;
    });
}
export declare class PFet extends Element {
    constructor(userParams?: Record<string, unknown> & {
        bulk?: boolean;
    });
}
export declare class NFet2 extends Element2Term {
    constructor(userParams?: Record<string, unknown> & {
        bulk?: boolean;
    });
    protected placeAnchors(start: Point, end: Point): void;
}
export declare class PFet2 extends Element2Term {
    constructor(userParams?: Record<string, unknown> & {
        bulk?: boolean;
    });
    protected placeAnchors(start: Point, end: Point): void;
}
/** N 沟道模拟画法 FET（竖向）。 */
export declare class AnalogNFet extends Element {
    constructor(userParams?: Record<string, unknown> & {
        bulk?: boolean;
        offset_gate?: boolean;
        arrow?: boolean;
    });
}
/** P 沟道模拟画法 FET（竖向）。 */
export declare class AnalogPFet extends Element {
    constructor(userParams?: Record<string, unknown> & {
        bulk?: boolean;
        offset_gate?: boolean;
        arrow?: boolean;
    });
}
/** 带偏置点的小信号 FET（模拟画法）。 */
export declare class AnalogBiasedFet extends Element {
    constructor(userParams?: Record<string, unknown> & {
        bulk?: boolean;
        offset_gate?: boolean;
        arrow?: boolean;
    });
}
export declare class JFet extends Element {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
export declare class JFetN extends JFet {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
export declare class JFetP extends JFet {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
export declare class JFet2 extends Element2Term {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
    protected placeAnchors(start: Point, end: Point): void;
}
export declare class JFetN2 extends JFet2 {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
export declare class JFetP2 extends JFet2 {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
/** HEMT / 分裂栅 FET（竖向）。 */
export declare class Hemt extends Element {
    constructor(userParams?: Record<string, unknown> & {
        split?: boolean;
        arrow?: boolean | string;
    });
}
export declare class Bjt extends Element {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
export declare class BjtNpn extends Bjt {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
export declare class BjtPnp extends Bjt {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
export declare class Bjt2 extends Element2Term {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
    protected placeAnchors(start: Point, end: Point): void;
}
export declare class BjtNpn2 extends Bjt2 {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
export declare class BjtPnp2 extends Bjt2 {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
    protected placeAnchors(start: Point, end: Point): void;
}
/** PNP 双集电极（竖向 BJT 符号）。 */
export declare class BjtPnp2c extends BjtPnp {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
/** NPN + 肖特基箝位。 */
export declare class NpnSchottky extends BjtNpn {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
/** PNP + 肖特基箝位。 */
export declare class PnpSchottky extends BjtPnp {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
/** NPN 光电晶体管（无基极引线）。 */
export declare class NpnPhoto extends BjtNpn {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
/** PNP 光电晶体管。 */
export declare class PnpPhoto extends BjtPnp {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
/** N 沟道 IGBT（绝缘栅）。 */
export declare class IgbtN extends BjtNpn {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
/** P 沟道 IGBT。 */
export declare class IgbtP extends BjtPnp {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
/** 双集电极 PNP（Bjt2 横版）。 */
export declare class BjtPnp2c2 extends BjtPnp2 {
    constructor(userParams?: Record<string, unknown> & {
        circle?: boolean;
    });
}
