import { default as React } from 'react';
import { default as PropTypes } from 'prop-types';
/**
 * Renders a horizontal circuit by determining `x1`, `x2`, `y1`, `y2`
 * coordinates on the page and then render a basic circuit by combining the
 * connection and endpoint props. Connection shape, style, and label information,
 * are passed in as props
 */
export class BasicCircuit extends React.Component<any, any, any> {
    constructor(props: any);
    renderCircuitTitle(title: any): import("react/jsx-runtime").JSX.Element | null;
    renderParentNavigation(parentId: any): import("react/jsx-runtime").JSX.Element | null;
    renderDisabledOverlay(disabled: any): import("react/jsx-runtime").JSX.Element | null;
    renderCircuitElements(): import("react/jsx-runtime").JSX.Element;
    render(): import("react/jsx-runtime").JSX.Element;
}
export namespace BasicCircuit {
    namespace propTypes {
        let lineStyle: PropTypes.Validator<object>;
        let lineShape: PropTypes.Requireable<string>;
        let connectionLabelPosition: PropTypes.Requireable<string>;
        let circuitLabel: PropTypes.Requireable<NonNullable<string | (string | null | undefined)[] | null | undefined>>;
        let yOffset: PropTypes.Requireable<number>;
        let title: PropTypes.Requireable<string>;
        let noNavigate: PropTypes.Requireable<boolean>;
        let size: PropTypes.Requireable<number>;
        let centerLine: PropTypes.Requireable<boolean>;
        let squareWidth: PropTypes.Requireable<number>;
        let endpointStyle: PropTypes.Requireable<object>;
        let endpointLabelPosition: PropTypes.Requireable<string>;
        let endpointLabelA: PropTypes.Requireable<string>;
        let endpointLabelZ: PropTypes.Requireable<string>;
        let disabled: PropTypes.Requireable<boolean>;
        let onSelectionChange: PropTypes.Requireable<(...args: any[]) => any>;
        let navTo: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        let parentId: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        let width: PropTypes.Requireable<number>;
        let height: PropTypes.Requireable<number>;
        let titleOffsetX: PropTypes.Requireable<number>;
        let titleOffsetY: PropTypes.Requireable<number>;
        let margin: PropTypes.Requireable<number>;
        let roundedX: PropTypes.Requireable<number>;
        let roundedY: PropTypes.Requireable<number>;
    }
    namespace defaultProps {
        let width_1: number;
        export { width_1 as width };
        let height_1: number;
        export { height_1 as height };
        let disabled_1: boolean;
        export { disabled_1 as disabled };
        let titleOffsetX_1: number;
        export { titleOffsetX_1 as titleOffsetX };
        let titleOffsetY_1: number;
        export { titleOffsetY_1 as titleOffsetY };
        let margin_1: number;
        export { margin_1 as margin };
        let noNavigate_1: boolean;
        export { noNavigate_1 as noNavigate };
        let squareWidth_1: number;
        export { squareWidth_1 as squareWidth };
        let roundedX_1: number;
        export { roundedX_1 as roundedX };
        let roundedY_1: number;
        export { roundedY_1 as roundedY };
    }
}
