import type { KeyValue } from '../../common'; import type { Point, Rectangle } from '../../geometry'; import type { CellAttrs } from '../attr'; import { Registry } from '../registry'; import * as layouts from './main'; import type { PointLike } from '../../types'; export interface PortLabelLayoutResult { position: PointLike; angle: number; attrs: CellAttrs; } export type PortLabelLayoutDefinition = (portPosition: Point, elemBBox: Rectangle, args: T) => PortLabelLayoutResult; type CommonDefinition = PortLabelLayoutDefinition; export interface PortLabelLayoutCommonOptions { x?: number; y?: number; angle?: number; attrs?: CellAttrs; } export type Presets = typeof portLabelLayoutPresets; export type OptionsMap = { readonly [K in keyof Presets]-?: Parameters[2]; }; export type PortLabelLayoutNativeNames = keyof Presets; export interface PortLabelLayoutNativeItem { name: T; args?: OptionsMap[T]; } export interface PortLabelLayoutManualItem { name: Exclude; args?: KeyValue; } export declare const portLabelLayoutPresets: typeof layouts; export declare const portLabelLayoutRegistry: Registry; export {};