import { Component } from "./component.js"; import { Pin } from "./pin.js"; import { ReferenceCounter } from "./utils/reference_counter.js"; import type { ISchematicNode } from "./types/schematic_types.js"; import type { ISchematicNetDefinition } from './net_manager.js'; import type { Power } from "./buses.js"; import { SimulationContext } from "./simulation/ngspice.js"; export type BomField = 'Reference' | 'Value' | 'Datasheet' | 'Footprint' | 'MPN' | 'Description' | 'Voltage' | 'Wattage'; export interface ISchematicOptions { net_prefix: string; bom_fields: BomField[]; bom_separator: string; } export declare class Schematic { #private; /** @internal */ components: Component[]; sheetName: string; private sexpr_components; /** @internal */ readonly referenceCounter: ReferenceCounter; private netManager; private pendingSummaryData; private setPendingSummaryData; /** @internal */ get nodes(): ISchematicNode[]; /** @internal */ get merged_nets(): { old_name: string; merged_to_number: number; }[]; get option(): Readonly; bom(output_folder?: string): boolean; constructor(sheetName: string); add(...components: Component[]): void; dnc(...pins: Pin[]): void; named(name: string): { net: (...pins: Pin[]) => ISchematicNetDefinition; dnc: (...pins: Pin[]) => void; }; net(...pins: Pin[]): ISchematicNetDefinition; create(...component: Component[]): void; simulate(...powers: Power[]): SimulationContext; error(error: string): void; warn(warning: string): void; } //# sourceMappingURL=schematic.d.ts.map