import type { SchemaValidationErrorItem } from '@takeshape/errors';
import { type PropertyRefItem } from '../refs.js';
import type { LayerState, LayerStatus } from '../types/index.js';
import type { ValidateReferencesContext } from './types.js';
export declare function findDuplicateIndices<Obj extends object, Key extends keyof Obj>(array: (Obj | undefined)[], key: Key): [Obj[Key], number[]][];
export declare function pushErrors(errors: SchemaValidationErrorItem[], error: SchemaValidationErrorItem | SchemaValidationErrorItem[] | undefined): void;
export declare function allowDisconnected(context: Pick<ValidateReferencesContext, 'allowDisconnectedLayers'>, status: LayerStatus): boolean;
export declare function isValidShapeReference(context: Pick<ValidateReferencesContext, 'allowDisconnectedLayers'>, layerState: LayerState, shapeName: string): boolean;
export declare function isValidPropertyRef(context: ValidateReferencesContext, inputRef: string | PropertyRefItem): Promise<boolean>;
