import { InteractionType, NodeId, SelectorId } from "../../data/types";
export type SubInstanceSelection = {
    instanceId: NodeId;
    parentComponentId: string;
};
/**
 * Node id
 *
 * NOTE: grep for data-node-id for other usages
 */
export declare function getDataNodeId(el: HTMLElement): string | undefined;
export declare function getSelectorForDataNodeId(nodeId: NodeId): string;
/**
 * Selector id
 *
 * NOTE: grep for data-selector-id for other usages
 */
export declare function getDataSelectorId(el: HTMLElement): string | undefined;
export declare function getSelectorForDataSelectorId(selectorId: SelectorId): string;
/**
 * Instance id
 *
 * NOTE: grep for data-instance-id for other usages
 */
export declare function getDataInstanceId(el: HTMLElement): string | undefined;
export declare function getSelectorForDataInstanceId(instanceId: string): string;
/**
 * Component id
 *
 * NOTE: grep for data-parent-component-id for other usages
 */
export declare function getDataParentComponentId(el: HTMLElement): string | undefined;
export declare function getSelectorForDataParentComponentId(componentId: string): string;
/**
 * Selectable node ids – multiple component instances can point to the same DOM node; this contains
 * all the instance ids as well as the actual node id that are selectable via this DOM node
 *
 * NOTE: grep for data-selectable-node-ids for other usages
 *
 * NOTE: by convention, the first element in the array is the outer-most instance
 */
export declare function getDataSelectableNodeIds(el: HTMLElement): NodeId[] | undefined;
export declare function getSelectorForDataSelectableNodeId(nodeId: string): string;
/**
 * Sub instance selection
 *
 * NOTE: relies on both instance ids and component ids
 */
export declare function getDataSubInstanceSelection(el: HTMLElement): SubInstanceSelection | undefined;
export declare function getSelectorForDataSubInstanceSelection(subInstanceSelection: SubInstanceSelection): string;
/**
 * Interaction type
 *
 * NOTE: grep for data-interaction-type for other usages
 */
export declare function getDataInteractionType(el: HTMLElement): keyof import("../../data/types").InteractionOverrides | undefined;
export declare function getSelectorForDataInteractionType(interactionType: InteractionType): string;
/**
 * Sub instance selections
 *
 * NOTE: grep for data-sub-instance-selections for other usages
 */
export declare function getSubInstanceSelections(el: HTMLElement): SubInstanceSelection[] | undefined;
export declare function getSelectorForDataSubInstanceSelections(subInstanceSelections: SubInstanceSelection[]): string;
export declare function deserializeSubInstanceSelections(str: string): SubInstanceSelection[];
export declare function serializeSubInstanceSelections(subInstanceSelections: SubInstanceSelection[]): string;
//# sourceMappingURL=dom-data-id-helpers.d.ts.map