import * as React from 'react';
import { LinkTemplate, LinkTemplateProps } from '../diagram/customization';
import { LinkLabelProps } from '../diagram/linkLayer';
/**
 * Default link template.
 *
 * Uses {@link DefaultLinkPathTemplate} to display the link itself.
 *
 * @see {@link DefaultLinkPathTemplate}
 */
export declare const DefaultLinkTemplate: LinkTemplate;
/**
 * Props for {@link DefaultLinkPathTemplate} component.
 *
 * @see {@link DefaultLinkPathTemplate}
 */
export interface DefaultLinkPathTemplateProps extends LinkTemplateProps {
    /**
     * Additional CSS class for the component.
     */
    className?: string;
    /**
     * Additional attributes for SVG path rendering of the link geometry.
     */
    pathProps?: React.SVGAttributes<SVGPathElement>;
    /**
     * Additional props for the primary link label.
     *
     * @see {@link LinkLabelProps.primary}
     */
    primaryLabelProps?: CustomizedLinkLabelProps;
    /**
     * Additional props for each label displaying a property from
     * a relation link data.
     */
    propertyLabelProps?: CustomizedLinkLabelProps;
    /**
     * Starting row shift when displaying relation link data properties.
     *
     * @default 1
     * @see {@link LinkLabelProps.line}
     */
    propertyLabelStartLine?: number;
    /**
     * Additional labels to display for the link.
     *
     * When prepending labels for a relational link it is useful to specify
     * {@link propertyLabelStartLine} to avoid overlapping prepended and data labels.
     */
    prependLabels?: React.ReactNode;
}
/**
 * Additional style props for the link labels in {@link DefaultLinkPathTemplate}.
 *
 * @see {@link DefaultLinkPathTemplateProps}
 */
type CustomizedLinkLabelProps = Omit<LinkLabelProps, 'primary' | 'link' | 'position' | 'line' | 'content'>;
/**
 * Default link path template component.
 *
 * The template supports displaying any diagram links, including relation
 * links and relation groups.
 *
 * The template supports the following template state:
 *   - layout only mark.
 *
 * {@link RenameLinkProvider} can be used to display a different label
 * than the default one based on the relation data or the link type.
 *
 * @category Components
 */
export declare function DefaultLinkPathTemplate(props: DefaultLinkPathTemplateProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=defaultLinkTemplate.d.ts.map