import { Component } from 'react'; import type { PositionChangeListenerType } from '@instructure/ui-dom-utils'; import type { PositionProps, PositionState } from './props'; import { PositionElement } from '../PositionPropTypes'; /** --- category: components/utilities --- **/ declare class Position extends Component { static readonly componentId = "Position"; static allowedProps: readonly (keyof { renderTarget?: import("@instructure/shared-types").Renderable; target?: import("..").PositionMountNode; placement?: import("..").PlacementPropValues; mountNode?: import("..").PositionMountNode; insertAt?: "bottom" | "top"; constrain?: import("..").PositionConstraint; offsetX?: string | number; offsetY?: string | number; id?: string; shouldTrackPosition?: boolean; shouldPositionOverTarget?: boolean; onPositionChanged?: (position: import("./props").PositionObject) => void; onPositioned?: (position: import("./props").PositionObject) => void; children?: React.ReactNode; containerDisplay?: "inline-block" | "block"; elementRef?: (element: Element | null) => void; })[]; static defaultProps: PositionProps; static locatorAttribute: string; static targetLocatorAttribute: string; static contentLocatorAttribute: string; constructor(props: PositionProps); ref: Element | null; _id: string; _timeouts: NodeJS.Timeout[]; _listener: PositionChangeListenerType | null; _content?: PositionElement; _target?: PositionElement; handleRef: (el: Element | null) => void; shouldComponentUpdate(nextProps: PositionProps, nextState: PositionState, nextContext: any): boolean; componentDidMount(): void; componentDidUpdate(prevProps: PositionProps, prevState: PositionState): void; componentWillUnmount(): void; toggleLocatorAttributes(set: boolean): void; toggleLocatorAttribute(node: Node | Window | null | undefined, locator: string, set: boolean): void; handlePortalOpen: () => void; calculatePosition(props: PositionProps): import("../PositionPropTypes").ElementPosition; position: () => void; startTracking(): void; stopTracking(): void; renderContent(): import("@emotion/react/jsx-runtime").JSX.Element | null; renderTarget(): any; render(): import("@emotion/react/jsx-runtime").JSX.Element; } export default Position; export { Position }; //# sourceMappingURL=index.d.ts.map