import { KanoCodeChallenge } from '../kano-code.js';
import { BlocklyValueStepHelper } from './value.js';
import { IStepData } from '../../../../creator/creator.js';
import { BeaconWidget } from '../../../../challenge/widget/beacon.js';
import { IDisposable } from '@kano/common/index.js';
import { IItemDataResource } from '../../../../blockly/fields/stamps-field.js';
declare class IndexedPickerBeaconWidget extends BeaconWidget {
    getPosition(): string;
    getDomNode(): import("../../../../../elements/kc-beacon.js").KCBeacon;
}
export declare class IndexedPickerFieldStepHelper extends BlocklyValueStepHelper {
    beacon: IndexedPickerBeaconWidget | null;
    listener?: (e: any) => void;
    tagHandler?: IDisposable;
    testCase(challenge: KanoCodeChallenge, step: IStepData): boolean;
    test(challenge: KanoCodeChallenge, step: IStepData): boolean;
    setupBeacon(challenge: KanoCodeChallenge): void;
    removeBeacon(challenge: KanoCodeChallenge): void;
    enter(challenge: KanoCodeChallenge, step: IStepData): void;
    leave(challenge: KanoCodeChallenge, step: IStepData): void;
    getItem(id: string, targetItems: IItemDataResource[]): HTMLElement | undefined;
    getIdFromValue(value: string, targetItems: IItemDataResource[]): string;
    getShadowElement(): ShadowRoot | undefined;
    getScrollingElement(): Element | null | undefined;
    protected onScroll(e: Event, challenge: KanoCodeChallenge): void;
}
export {};
