import { FilterExpressionCollection as FilterExpressionCollection_internal } from "./FilterExpressionCollection";
import { IFilterExpression } from "./IFilterExpression";
/**
 * Represents a colleciton of filter expressions.
*/
export declare class IgxFilterExpressionCollection {
    protected createImplementation(): FilterExpressionCollection_internal;
    protected _implementation: any;
    get i(): FilterExpressionCollection_internal;
    private onImplementationCreated;
    constructor();
    protected _provideImplementation(i: any): void;
    item(index: number, value?: IFilterExpression): IFilterExpression;
    get count(): number;
    toArray(): IFilterExpression[];
    [Symbol.iterator](): Generator<any, void, unknown>;
    get syncTarget(): IgxFilterExpressionCollection;
    set syncTarget(v: IgxFilterExpressionCollection);
    /**
     * Gets or sets whether this collection should detach the sync when the target collection changes.
    */
    get shouldDetachOnTargetChange(): boolean;
    set shouldDetachOnTargetChange(v: boolean);
    static ngAcceptInputType_shouldDetachOnTargetChange: boolean | string;
    get onChanged(): () => void;
    set onChanged(v: () => void);
    findByName(name: string): any;
    add(item: IFilterExpression): boolean;
    insert(index: number, item: IFilterExpression): void;
    clear(): void;
    get(index: number): IFilterExpression;
    indexOf(item: IFilterExpression): number;
    remove(item: IFilterExpression): boolean;
    removeAt(index: number): IFilterExpression;
    set(index: number, value: IFilterExpression): IFilterExpression;
    size(): number;
}
