import { Element } from "../element.js";
import { Element2Term } from "../element2term.js";
import { Buf, Not } from "./buffer.js";
import { And } from "./and.js";
export declare class Table extends Element {
    constructor(userParams: Record<string, unknown> & {
        table: string;
        colfmt?: string;
        fontsize?: number;
        font?: string;
    });
}
export declare class NotNot extends Element2Term {
    constructor(userParams?: Record<string, unknown>);
}
export declare class Tgate extends Element2Term {
    constructor(userParams?: Record<string, unknown>);
}
export declare class Schmitt extends Buf {
    constructor(userParams?: Record<string, unknown>);
}
export declare class SchmittNot extends Not {
    constructor(userParams?: Record<string, unknown>);
}
export declare class SchmittAnd extends And {
    constructor(userParams?: Record<string, unknown> & {
        inputs?: number;
        nand?: boolean;
    });
}
export declare function SchmittNand(userParams?: Record<string, unknown>): SchmittAnd;
export { TimingDiagram } from "./timing.js";
export type { SignalDef, WaveDict } from "./timing.js";
export { BitField } from "./bitfield.js";
export type { BitFieldItem, BitFieldConfig, BitFieldReg } from "./bitfield.js";
