import { bounds, color, direction, location, record, xy } from '@synnaxlabs/x';
import { FC, ReactElement } from 'react';
import { Flex } from '../../flex';
import { GridProps } from './Grid';
import { Control } from '../../telem/control';
import { Text } from '../../text';
import { Button as CoreButton } from '../../vis/button';
import { Gauge as CoreGauge } from '../../vis/gauge';
import { Light as CoreLight } from '../../vis/light';
import { Setpoint as CoreSetpoint } from '../../vis/setpoint';
import { Toggle } from '../../vis/toggle';
import { Value as CoreValue } from '../../vis/value';
import * as Primitives from "@/schematic/symbol/Primitives";
export interface ControlStateProps extends Omit<Flex.BoxProps, "direction"> {
    show?: boolean;
    showChip?: boolean;
    showIndicator?: boolean;
    chip?: Control.ChipProps;
    indicator?: Control.IndicatorProps;
    orientation?: location.Location;
}
export interface LabelExtensionProps {
    label?: string;
    level?: Text.Level;
    orientation?: location.Location;
    direction?: direction.Direction;
    maxInlineSize?: number;
    align?: Flex.Alignment;
}
export type SymbolProps<P extends object = record.Unknown> = P & {
    symbolKey: string;
    position: xy.XY;
    aetherKey: string;
    selected: boolean;
    onChange: (value: Partial<P>) => void;
};
export type PreviewProps<P extends object = record.Unknown> = P & {
    scale?: number;
};
export type ToggleProps<T> = T & Omit<Toggle.UseProps, "aetherKey" | "onChange"> & {
    label?: LabelExtensionProps;
    control?: ControlStateProps;
    orientation?: location.Outer;
};
export declare const createToggle: <P extends object = record.Unknown>(BaseSymbol: FC<P>, overrides?: {
    grid?: Partial<Omit<GridProps, "editable">>;
}) => {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<P>>): ReactElement;
    displayName: string | undefined;
};
type LabeledProps<P extends object = record.Unknown> = P & {
    label?: LabelExtensionProps;
    orientation?: location.Outer;
};
interface LabeledOverrides {
    grid: Partial<Omit<GridProps, "editable">>;
}
export declare const createLabeled: <P extends object = record.Unknown>(BaseSymbol: FC<P>, overrides?: LabeledOverrides) => {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<P>>): ReactElement;
    displayName: string | undefined;
};
type DummyToggleProps<P extends object = record.Unknown> = LabeledProps<P> & {
    enabled?: boolean;
    clickable?: boolean;
};
export declare const createDummyToggle: <P extends object = record.Unknown>(Primitive: FC<P>) => {
    ({ symbolKey, label, onChange, selected, position: _, orientation, enabled, clickable, ...rest }: SymbolProps<DummyToggleProps<P>>): ReactElement;
    displayName: string | undefined;
};
export declare const RemoteActuator: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.CustomActuatorProps>>): ReactElement;
    displayName: string | undefined;
};
export type RemoteActuatorProps = ToggleProps<Primitives.CustomActuatorProps>;
export declare const ThreeWayValve: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.ThreeWayValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type ThreeWayValveProps = ToggleProps<Primitives.ThreeWayValveProps>;
export declare const Valve: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.ValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type ValveProps = ToggleProps<Primitives.ValveProps>;
export declare const SolenoidValve: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.SolenoidValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type SolenoidValveProps = ToggleProps<Primitives.SolenoidValveProps>;
export declare const FourWayValve: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.FourWayValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type FourWayValveProps = ToggleProps<Primitives.FourWayValveProps>;
export declare const AngledValve: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.AngledValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type AngledValveProps = ToggleProps<Primitives.AngledValveProps>;
export declare const Pump: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.PumpProps>>): ReactElement;
    displayName: string | undefined;
};
export type PumpProps = ToggleProps<Primitives.PumpProps>;
export declare const DiaphragmPump: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.DiaphragmPumpProps>>): ReactElement;
    displayName: string | undefined;
};
export type DiaphragmPumpProps = ToggleProps<Primitives.DiaphragmPumpProps>;
export declare const EjectionPump: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.EjectionPumpProps>>): ReactElement;
    displayName: string | undefined;
};
export type EjectionPumpProps = ToggleProps<Primitives.EjectionPumpProps>;
export declare const VacuumPump: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.VacuumPumpProps>>): ReactElement;
    displayName: string | undefined;
};
export type VacuumPumpProps = ToggleProps<Primitives.VacuumPumpProps>;
export declare const CavityPump: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.CavityPumpProps>>): ReactElement;
    displayName: string | undefined;
};
export type CavityPumpProps = ToggleProps<Primitives.CavityPumpProps>;
export declare const PistonPump: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.PistonPumpProps>>): ReactElement;
    displayName: string | undefined;
};
export type PistonPumpProps = ToggleProps<Primitives.PistonPumpProps>;
export declare const RotaryMixer: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.RotaryMixerProps>>): ReactElement;
    displayName: string | undefined;
};
export type RotaryMixerProps = ToggleProps<Primitives.RotaryMixerProps>;
export declare const Agitator: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.AgitatorProps>>): ReactElement;
    displayName: string | undefined;
};
export type AgitatorProps = ToggleProps<Primitives.AgitatorProps>;
export declare const PropellerAgitator: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.PropellerAgitatorProps>>): ReactElement;
    displayName: string | undefined;
};
export type PropellerAgitatorProps = ToggleProps<Primitives.PropellerAgitatorProps>;
export declare const FlatBladeAgitator: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.FlatBladeAgitatorProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlatBladeAgitatorProps = ToggleProps<Primitives.FlatBladeAgitatorProps>;
export declare const PaddleAgitator: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.PaddleAgitatorProps>>): ReactElement;
    displayName: string | undefined;
};
export type PaddleAgitatorProps = ToggleProps<Primitives.PaddleAgitatorProps>;
export declare const CrossBeamAgitator: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.CrossBeamAgitatorProps>>): ReactElement;
    displayName: string | undefined;
};
export type CrossBeamAgitatorProps = ToggleProps<Primitives.CrossBeamAgitatorProps>;
export declare const HelicalAgitator: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.HelicalAgitatorProps>>): ReactElement;
    displayName: string | undefined;
};
export type HelicalAgitatorProps = ToggleProps<Primitives.HelicalAgitatorProps>;
export declare const ScrewPump: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.ScrewPumpProps>>): ReactElement;
    displayName: string | undefined;
};
export type ScrewPumpProps = ToggleProps<Primitives.ScrewPumpProps>;
export declare const Compressor: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.CompressorProps>>): ReactElement;
    displayName: string | undefined;
};
export type CompressorProps = ToggleProps<Primitives.CompressorProps>;
export declare const TurboCompressor: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.TurboCompressorProps>>): ReactElement;
    displayName: string | undefined;
};
export type TurboCompressorProps = ToggleProps<Primitives.TurboCompressorProps>;
export declare const RollerVaneCompressor: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.RollerVaneCompressorProps>>): ReactElement;
    displayName: string | undefined;
};
export type RollerVaneCompressorProps = ToggleProps<Primitives.RollerVaneCompressorProps>;
export declare const LiquidRingCompressor: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.LiquidRingCompressorProps>>): ReactElement;
    displayName: string | undefined;
};
export type LiquidRingCompressorProps = ToggleProps<Primitives.LiquidRingCompressorProps>;
export declare const EjectorCompressor: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.EjectorCompressorProps>>): ReactElement;
    displayName: string | undefined;
};
export type EjectorCompressorProps = ToggleProps<Primitives.EjectorCompressorProps>;
export declare const CentrifugalCompressor: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.CentrifugalCompressorProps>>): ReactElement;
    displayName: string | undefined;
};
export type CentrifugalCompressorProps = ToggleProps<Primitives.CentrifugalCompressorProps>;
export declare const ButterflyValveOne: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.ButterflyValveOneProps>>): ReactElement;
    displayName: string | undefined;
};
export type ButterflyValveOneProps = ToggleProps<Primitives.ButterflyValveOneProps>;
export declare const ButterflyValveTwo: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.ButterflyValveTwoProps>>): ReactElement;
    displayName: string | undefined;
};
export type ButterflyValveTwoProps = ToggleProps<Primitives.ButterflyValveTwoProps>;
export declare const BallValve: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.BallValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type BallValveProps = ToggleProps<Primitives.BallValveProps>;
export declare const ThreeWayBallValve: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.ThreeWayBallValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type ThreeWayBallValveProps = ToggleProps<Primitives.ThreeWayBallValveProps>;
export declare const GateValve: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.GateValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type GateValveProps = ToggleProps<Primitives.GateValveProps>;
export declare const Regulator: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.RegulatorProps>>): ReactElement;
    displayName: string | undefined;
};
export type RegulatorProps = LabeledProps<Primitives.RegulatorProps>;
export declare const RegulatorManual: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.RegulatorManualProps>>): ReactElement;
    displayName: string | undefined;
};
export type RegulatorManualProps = LabeledProps<Primitives.RegulatorManualProps>;
export declare const ElectricRegulator: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.ElectricRegulatorProps>>): ReactElement;
    displayName: string | undefined;
};
export type ElectricRegulatorProps = LabeledProps<Primitives.ElectricRegulatorProps>;
export declare const ElectricRegulatorMotorized: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.ElectricRegulatorMotorizedProps>>): ReactElement;
    displayName: string | undefined;
};
export type ElectricRegulatorMotorizedProps = LabeledProps<Primitives.ElectricRegulatorMotorizedProps>;
export declare const BurstDisc: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.BurstDiscProps>>): ReactElement;
    displayName: string | undefined;
};
export type BurstDiscProps = LabeledProps<Primitives.BurstDiscProps>;
export declare const Cap: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.CapProps>>): ReactElement;
    displayName: string | undefined;
};
export type CapProps = LabeledProps<Primitives.CapProps>;
export declare const ISOCap: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.ISOCapProps>>): ReactElement;
    displayName: string | undefined;
};
export type ISOCapProps = LabeledProps<Primitives.ISOCapProps>;
export declare const Filter: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FilterProps>>): ReactElement;
    displayName: string | undefined;
};
export type FilterProps = LabeledProps<Primitives.FilterProps>;
export declare const CheckValve: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.CheckValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type CheckValveProps = LabeledProps<Primitives.CheckValveProps>;
export declare const ISOCheckValve: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.ISOCheckValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type ISOCheckValveProps = LabeledProps<Primitives.ISOCheckValveProps>;
export declare const CheckValveWithArrow: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.CheckValveWithArrowProps>>): ReactElement;
    displayName: string | undefined;
};
export type CheckValveWithArrowProps = LabeledProps<Primitives.CheckValveWithArrowProps>;
export declare const Orifice: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.OrificeProps>>): ReactElement;
    displayName: string | undefined;
};
export type OrificeProps = LabeledProps<Primitives.OrificeProps>;
export declare const Switch: {
    ({ symbolKey, control, source, sink, label, onChange, selected, orientation, position: _, ...rest }: SymbolProps<ToggleProps<Primitives.SwitchProps>>): ReactElement;
    displayName: string | undefined;
};
export type SwitchProps = ToggleProps<Primitives.SwitchProps>;
export declare const Vent: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.VentProps>>): ReactElement;
    displayName: string | undefined;
};
export type VentProps = LabeledProps<Primitives.VentProps>;
export declare const OrificePlate: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.OrificePlateProps>>): ReactElement;
    displayName: string | undefined;
};
export type OrificePlateProps = LabeledProps<Primitives.OrificePlateProps>;
export declare const ISOFilter: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.ISOFilterProps>>): ReactElement;
    displayName: string | undefined;
};
export type ISOFilterProps = LabeledProps<Primitives.ISOFilterProps>;
export declare const FlowStraightener: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowStraightenerProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowStraightenerProps = LabeledProps<Primitives.FlowStraightenerProps>;
export declare const HeaterElement: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.HeaterElementProps>>): ReactElement;
    displayName: string | undefined;
};
export type HeaterElementProps = LabeledProps<Primitives.HeaterElementProps>;
export declare const ISOBurstDisc: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.ISOBurstDiscProps>>): ReactElement;
    displayName: string | undefined;
};
export type ISOBurstDiscProps = LabeledProps<Primitives.ISOBurstDiscProps>;
export declare const CustomStatic: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.CustomStaticProps>>): ReactElement;
    displayName: string | undefined;
};
export type CustomStaticProps = LabeledProps<Primitives.CustomStaticProps>;
export declare const TJunction: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.TJunctionProps>>): ReactElement;
    displayName: string | undefined;
};
export type TJunctionProps = LabeledProps<Primitives.TJunctionProps>;
export declare const CrossJunction: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.CrossJunctionProps>>): ReactElement;
    displayName: string | undefined;
};
export type CrossJunctionProps = LabeledProps<Primitives.CrossJunctionProps>;
export declare const StaticMixer: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.StaticMixerProps>>): ReactElement;
    displayName: string | undefined;
};
export type StaticMixerProps = LabeledProps<Primitives.StaticMixerProps>;
export declare const FlowmeterGeneral: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowmeterGeneralProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowmeterGeneralProps = LabeledProps<Primitives.FlowmeterGeneralProps>;
export declare const FlowmeterElectromagnetic: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowmeterElectromagneticProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowmeterElectromagneticProps = LabeledProps<Primitives.FlowmeterElectromagneticProps>;
export declare const FlowmeterVariableArea: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowmeterVariableAreaProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowmeterVariableAreaProps = LabeledProps<Primitives.FlowmeterVariableAreaProps>;
export declare const FlowmeterCoriolis: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowmeterCoriolisProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowmeterCoriolisProps = LabeledProps<Primitives.FlowmeterCoriolisProps>;
export declare const FlowmeterNozzle: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowmeterNozzleProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowmeterNozzleProps = LabeledProps<Primitives.FlowmeterNozzleProps>;
export declare const FlowmeterVenturi: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowmeterVenturiProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowmeterVenturiProps = LabeledProps<Primitives.FlowmeterVenturiProps>;
export declare const FlowmeterRingPiston: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowmeterRingPistonProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowmeterRingPistonProps = LabeledProps<Primitives.FlowmeterRingPistonProps>;
export declare const FlowmeterPositiveDisplacement: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowmeterPositiveDisplacementProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowmeterPositiveDisplacementProps = LabeledProps<Primitives.FlowmeterPositiveDisplacementProps>;
export declare const FlowmeterTurbine: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowmeterTurbineProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowmeterTurbineProps = LabeledProps<Primitives.FlowmeterTurbineProps>;
export declare const FlowmeterPulse: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowmeterPulseProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowmeterPulseProps = LabeledProps<Primitives.FlowmeterPulseProps>;
export declare const FlowmeterFloatSensor: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowmeterFloatSensorProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowmeterFloatSensorProps = LabeledProps<Primitives.FlowmeterFloatSensorProps>;
export declare const FlowmeterOrifice: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlowmeterOrificeProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlowmeterOrificeProps = LabeledProps<Primitives.FlowmeterOrificeProps>;
export declare const HeatExchangerGeneral: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.HeatExchangerGeneralProps>>): ReactElement;
    displayName: string | undefined;
};
export type HeatExchangerGeneralProps = LabeledProps<Primitives.HeatExchangerGeneralProps>;
export declare const HeatExchangerM: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.HeatExchangerMProps>>): ReactElement;
    displayName: string | undefined;
};
export type HeatExchangerMProps = LabeledProps<Primitives.HeatExchangerMProps>;
export declare const HeatExchangerStraightTube: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.HeatExchangerStraightTubeProps>>): ReactElement;
    displayName: string | undefined;
};
export type HeatExchangerStraightTubeProps = LabeledProps<Primitives.HeatExchangerStraightTubeProps>;
export declare const FlameArrestor: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlameArrestorProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlameArrestorProps = LabeledProps<Primitives.FlameArrestorProps>;
export declare const FlameArrestorExplosion: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlameArrestorExplosionProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlameArrestorExplosionProps = LabeledProps<Primitives.FlameArrestorExplosionProps>;
export declare const FlameArrestorDetonation: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlameArrestorDetonationProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlameArrestorDetonationProps = LabeledProps<Primitives.FlameArrestorDetonationProps>;
export declare const FlameArrestorFireRes: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlameArrestorFireResProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlameArrestorFireResProps = LabeledProps<Primitives.FlameArrestorFireResProps>;
export declare const FlameArrestorFireResDetonation: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.FlameArrestorFireResDetonationProps>>): ReactElement;
    displayName: string | undefined;
};
export type FlameArrestorFireResDetonationProps = LabeledProps<Primitives.FlameArrestorFireResDetonationProps>;
export declare const Thruster: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.ThrusterProps>>): ReactElement;
    displayName: string | undefined;
};
export type ThrusterProps = LabeledProps<Primitives.ThrusterProps>;
export declare const Nozzle: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.NozzleProps>>): ReactElement;
    displayName: string | undefined;
};
export type NozzleProps = LabeledProps<Primitives.NozzleProps>;
export declare const Strainer: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.StrainerProps>>): ReactElement;
    displayName: string | undefined;
};
export type StrainerProps = LabeledProps<Primitives.StrainerProps>;
export declare const StrainerCone: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<Primitives.StrainerConeProps>>): ReactElement;
    displayName: string | undefined;
};
export type StrainerConeProps = LabeledProps<Primitives.StrainerConeProps>;
export declare const NeedleValve: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, enabled, clickable, ...rest }: SymbolProps<DummyToggleProps<Primitives.NeedleValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type NeedleValveProps = DummyToggleProps<Primitives.NeedleValveProps>;
export declare const ReliefValve: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, enabled, clickable, ...rest }: SymbolProps<DummyToggleProps<Primitives.ReliefValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type ReliefValveProps = DummyToggleProps<Primitives.ReliefValveProps>;
export declare const SpringLoadedReliefValve: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, enabled, clickable, ...rest }: SymbolProps<DummyToggleProps<Primitives.SpringLoadedReliefValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type SpringLoadedReliefValveProps = DummyToggleProps<Primitives.SpringLoadedReliefValveProps>;
export declare const AngledSpringLoadedReliefValve: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, enabled, clickable, ...rest }: SymbolProps<DummyToggleProps<Primitives.AngledSpringLoadedReliefValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type AngledSpringLoadedReliefValveProps = DummyToggleProps<Primitives.AngledSpringLoadedReliefValveProps>;
export declare const ManualValve: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, enabled, clickable, ...rest }: SymbolProps<DummyToggleProps<Primitives.ManualValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type ManualValveProps = DummyToggleProps<Primitives.ManualValveProps>;
export declare const AngledReliefValve: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, enabled, clickable, ...rest }: SymbolProps<DummyToggleProps<Primitives.AngledReliefValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type AngledReliefValveProps = DummyToggleProps<Primitives.AngledReliefValveProps>;
export declare const BreatherValve: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, enabled, clickable, ...rest }: SymbolProps<DummyToggleProps<Primitives.BreatherValveProps>>): ReactElement;
    displayName: string | undefined;
};
export type BreatherValveProps = DummyToggleProps<Primitives.BreatherValveProps>;
export interface TankProps extends Omit<Primitives.TankProps, "boxBorderRadius"> {
    label?: LabelExtensionProps;
}
export declare const Tank: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<SymbolProps<TankProps>>>): ReactElement;
    displayName: string | undefined;
};
export declare const TankPreview: (props: TankProps) => ReactElement;
export interface BoxProps extends Omit<TankProps, "borderRadius"> {
    borderRadius?: number;
    strokeWidth?: number;
}
export declare const Triangle: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<SymbolProps<Primitives.PolygonProps>>>): ReactElement;
    displayName: string | undefined;
};
export type TriangleProps = LabeledProps<Primitives.PolygonProps>;
export declare const PolygonSymbol: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<SymbolProps<Primitives.PolygonProps>>>): ReactElement;
    displayName: string | undefined;
};
export declare const Circle: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<SymbolProps<Primitives.CircleShapeProps>>>): ReactElement;
    displayName: string | undefined;
};
export declare const Box: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<SymbolProps<BoxProps>>>): ReactElement;
    displayName: string | undefined;
};
export declare const BoxPreview: (props: BoxProps) => ReactElement;
export interface SetpointProps extends Omit<Primitives.SetpointProps, "value" | "onChange">, Omit<CoreSetpoint.UseProps, "aetherKey"> {
    label?: LabelExtensionProps;
    control?: ControlStateProps;
}
export declare const Setpoint: ({ label, symbolKey, orientation, control, units, source, sink, color, onChange, selected, draggable, size, disabled, }: SymbolProps<SetpointProps>) => ReactElement;
export declare const SetpointPreview: ({ className, ...rest }: SetpointProps) => ReactElement;
export interface ValueProps extends Omit<CoreValue.UseProps, "box" | "aetherKey">, Primitives.ValueProps {
    position?: xy.XY;
    label?: LabelExtensionProps;
    color?: color.Crude;
    textColor?: color.Crude;
    tooltip?: string[];
    redline?: CoreValue.Redline;
}
export declare const Value: ({ symbolKey, label, level, position, textColor, color, telem: t, units, onChange, inlineSize, selected, draggable, notation, stalenessColor, stalenessTimeout, redline, }: SymbolProps<ValueProps>) => ReactElement;
export declare const ValuePreview: ({ color }: ValueProps) => ReactElement;
export interface GaugeProps extends Omit<CoreGauge.UseProps, "box" | "aetherKey"> {
    position?: xy.XY;
    label?: LabelExtensionProps;
    color?: color.Crude;
    bounds?: bounds.Bounds;
    barWidth?: number;
}
export declare const Gauge: ({ symbolKey, label, level, position, color, telem: t, units, onChange, selected, notation, bounds: b, barWidth, }: SymbolProps<GaugeProps>) => ReactElement;
export declare const GaugePreview: ({ color: c }: GaugeProps) => ReactElement;
export interface ButtonProps extends Omit<Primitives.ButtonProps, "label" | "onClick">, Omit<CoreButton.UseProps, "aetherKey"> {
    label?: LabelExtensionProps;
    control?: ControlStateProps;
}
export declare const Button: ({ symbolKey, label, orientation, sink, control, selected, draggable, onChange, mode, ...rest }: SymbolProps<ButtonProps>) => import("react/jsx-runtime").JSX.Element;
export declare const ButtonPreview: ({ label: _, ...rest }: ButtonProps) => ReactElement;
export interface LightProps extends Primitives.LightProps, Omit<CoreLight.UseProps, "aetherKey"> {
    label?: LabelExtensionProps;
}
export declare const Light: ({ symbolKey, label, source, onChange, selected, ...rest }: SymbolProps<LightProps>) => ReactElement;
export interface OffPageReferenceProps extends Omit<Primitives.OffPageReferenceProps, "label"> {
    label: LabelExtensionProps;
}
export declare const OffPageReference: ({ label: { label, level }, orientation, color, onChange, }: SymbolProps<OffPageReferenceProps>) => ReactElement;
export declare const OffPageReferencePreview: ({ label: _, ...rest }: OffPageReferenceProps) => import("react/jsx-runtime").JSX.Element;
export declare const Cylinder: {
    ({ symbolKey, label, onChange, selected, position: _, orientation, ...rest }: SymbolProps<LabeledProps<SymbolProps<Omit<Primitives.CylinderProps, "onChange">>>>): ReactElement;
    displayName: string | undefined;
};
export type CylinderProps = LabeledProps<Omit<Primitives.CylinderProps, "onChange">>;
export declare const CylinderPreview: (props: CylinderProps) => ReactElement;
export interface TextBoxProps extends Primitives.TextBoxProps {
}
export declare const TextBox: ({ onChange, symbolKey, color, width, align, autoFit, level, value, }: SymbolProps<Omit<TextBoxProps, "onChange">>) => ReactElement;
export declare const TextBoxPreview: (props: Primitives.TextBoxProps) => ReactElement;
export {};
//# sourceMappingURL=Symbols.d.ts.map