import FindStrategy, { MobileFindExecutionConfig, MobileFindStrategyResult } from '../strategies/FindStrategy';
import { MobileTestExecutionContext } from '../../../contexts/MobileTestExecutionContext';
import { MobileFindElementDescriptor } from '@mablhq/test-model/mablscriptFind';
import { AndroidElementReference } from '../android/AndroidCandidate';
import { iOSElementReference } from '../ios/iOSCandidate';
export declare const ANCESTOR_BOUNDS_WEIGHT = 400;
export declare const MIN_ANCESTOR_WEIGHT_PERCENTAGE = 0.05;
export default class AncestorAndTargetFindStrategy extends FindStrategy {
    private mobileFindExecutionConfig;
    private ancestorFindStrategy;
    private targetFindStrategy;
    constructor(mobileFindExecutionConfig: MobileFindExecutionConfig, ancestorFindStrategy: FindStrategy, targetFindStrategy: FindStrategy);
    getName(): string;
    isApplicable(descriptor: MobileFindElementDescriptor): boolean;
    findElement(driver: WebdriverIO.Browser, mobileExecutionContext: MobileTestExecutionContext, descriptor: MobileFindElementDescriptor, isShortCircuited: () => boolean): Promise<MobileFindStrategyResult | undefined>;
    adjustTargetCandidateScoreByAncestorBounds<T extends iOSElementReference | AndroidElementReference>(targetElementFindResult: MobileFindStrategyResult, ancestorElementFindResult: MobileFindStrategyResult | undefined, mobileExecutionContext: MobileTestExecutionContext): void;
}
//# sourceMappingURL=AncestorAndTargetFindStrategy.d.ts.map