import { FindPropertyPreference } from '@mablhq/test-model/mablscriptFind';
export declare enum AppiumLocatorStrategy {
    AndroidUiAutomator = "-android uiautomator",
    iOSPredicateString = "-ios predicate string"
}
export interface AppiumLocator {
    strategy: AppiumLocatorStrategy;
    appiumSelector: string;
}
export declare enum AppiumClauseComparator {
    Contains = "Contains",
    Equals = "Equals"
}
export default abstract class AppiumLocatorBuilderBase {
    protected clauses: string[];
    static getClauseComparator(propertyPreferences: Record<string, FindPropertyPreference>, propertyName: string): AppiumClauseComparator | undefined;
    hasAnyClause(): boolean;
    enabled(value: boolean): this;
    selected(value: boolean): this;
    index(value: number): this;
    abstract toLocator(): AppiumLocator;
    abstract toLocatorString(): string;
    protected pushString(key: string, value: string, comparator?: AppiumClauseComparator): this;
    protected pushBoolean(key: string, value: boolean): this;
    protected pushNumber(key: string, value: number): this;
    protected sanitizeInput(value: string): string;
    protected abstract getStringClause(key: string, value: string, comparator: AppiumClauseComparator): string;
    protected abstract getBooleanClause(key: string, value: boolean): string;
    protected abstract getNumberClause(key: string, value: number): string;
}
//# sourceMappingURL=AppiumLocatorBuilderBase.d.ts.map