import { ScrollCoordinates, ScrollDirection, ScrollStepDescriptor } from '@mablhq/test-model/types/mobile/ScrollStepDescriptor';
import { ExecutionStepResult } from '@mablhq-internal/runtime/execution';
import { MobileTestExecutionContext } from '../contexts/MobileTestExecutionContext';
import { ElementLocationAndSize } from '../util/scrollingExecutionUtil';
import { BrowserSize } from '../../../mobile/types';
import { MobileFindElementDescriptor } from '@mablhq/test-model/mablscriptFind';
import { MobilePlatformEnum } from '@mablhq-internal/runtime/mablApi';
export declare class ScrollExecutor {
    run(step: ScrollStepDescriptor, executionContext: MobileTestExecutionContext): Promise<ExecutionStepResult>;
    scroll(step: ScrollStepDescriptor, executionContext: MobileTestExecutionContext): Promise<ExecutionStepResult>;
    scrollToElement(driver: WebdriverIO.Browser, executionContext: MobileTestExecutionContext, targetDescriptor: MobileFindElementDescriptor, containerLocationAndSize: ElementLocationAndSize, scrollPercentages: ScrollCoordinates | undefined, maxStepScrollAttempts: number, scrollDirection: ScrollDirection, windowSize: BrowserSize, platform: MobilePlatformEnum): Promise<ExecutionStepResult>;
    maybeScrollMoreToCenter(driver: WebdriverIO.Browser, executionContext: MobileTestExecutionContext, scrollDirection: ScrollDirection, windowSize: BrowserSize, targetElementLocationAndSize: ElementLocationAndSize, containerLocationAndSize: ElementLocationAndSize): Promise<void>;
    validateCoordinates(coordinates: ScrollCoordinates): void;
    isBetweenZeroAndOne(value: number): boolean;
}
//# sourceMappingURL=ScrollExecutor.d.ts.map