import { DropDownList } from "./dropdownlist";
import { NumericTextBox } from "./numerictextbox";
import { TextBox } from "./textbox";
import { UIComponent } from "./ui-component";
import { Browser, By, WebElement } from "../selenium";
export declare class Filter extends UIComponent {
    protected parentElement?: WebElement | By | string;
    static SELECTOR: string;
    static MAIN_OPERATOR_AND: string;
    static MAIN_OPERATOR_OR: string;
    constructor(browser: Browser, locator?: string, parentElement?: WebElement | By | string);
    mainToolbar(): Promise<WebElement>;
    mainOperatorAnd(): Promise<WebElement>;
    mainOperatorOr(): Promise<WebElement>;
    switchMainOperatorToAnd(): Promise<void>;
    switchMainOperatorToOr(): Promise<void>;
    toolbar(rowIndex?: number): Promise<WebElement>;
    andOperatorByRow(rowIndex?: number): Promise<WebElement>;
    orOperatorByRow(rowIndex?: number): Promise<WebElement>;
    switchOperatorToAnd(rowIndex?: number): Promise<void>;
    switchOperatorToOr(rowIndex?: number): Promise<void>;
    addExpression(): Promise<void>;
    removeExpression(rowIndex?: number): Promise<void>;
    getDropDown(rowIndex: number, title: string): Promise<DropDownList>;
    getNumericTextBox(rowIndex?: number): Promise<NumericTextBox>;
    getTextBox(rowIndex?: number): Promise<TextBox>;
    getCheckbox(rowIndex?: number): Promise<WebElement>;
    getPreviewField(index?: number): Promise<string>;
    getPreviewCriteria(index?: number): Promise<string>;
    getPreviewValue(index?: number): Promise<string>;
    getPreviewOperator(index?: number): Promise<string>;
    apply(): Promise<void>;
}
