import { type FC } from "react";
import { z } from "zod";
import { type Theming } from '../../theming';
import { type SymbolFormProps } from './Forms';
import { type SymbolProps } from './Symbols';
export interface Spec<P extends object> {
    key: Variant;
    name: string;
    Form: FC<SymbolFormProps>;
    Symbol: FC<SymbolProps<P>>;
    defaultProps: (t: Theming.Theme) => P;
    Preview: FC<SymbolProps<P>>;
    zIndex: number;
}
declare const typeZ: z.ZodEnum<["threeWayValve", "valve", "solenoidValve", "fourWayValve", "angledValve", "pump", "tank", "reliefValve", "regulator", "burstDisc", "cap", "manualValve", "filter", "needleValve", "checkValve", "orifice", "angledReliefValve", "value", "button", "switch"]>;
export type Variant = z.infer<typeof typeZ>;
export declare const SYMBOLS: Record<Variant, Spec<any>>;
export {};
