import { FormControl, FormGroup } from '@angular/forms';
import { ClrDatagridFilter } from '@clr/angular';
import { SubscriptionTracker } from '../../common/subscription/subscription-tracker';
import { DatagridFilter, FilterConfig, FilterRendererSpec } from './datagrid-filter';
import * as i0 from "@angular/core";
export declare enum WildCardPosition {
    NONE = 0,
    START = 1,
    END = 2,
    WRAP = 3
}
/**
 * Configures the '*' position in the FIQL string output
 */
export interface DatagridStringFilterConfig extends FilterConfig<string> {
    wildCardPosition?: WildCardPosition;
}
export declare class DatagridStringFilterComponent extends DatagridFilter<string, DatagridStringFilterConfig> {
    private filterContainer;
    formGroup: FormGroup<{
        filterText: FormControl<string>;
    }>;
    constructor(filterContainer: ClrDatagridFilter, subTracker: SubscriptionTracker);
    setValue(value: string): void;
    getValue(): string;
    isActive(): boolean;
    /**
     * Wraps a string with a `wrapCharacter` in given position;
     */
    private addWildCard;
    static ɵfac: i0.ɵɵFactoryDeclaration<DatagridStringFilterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DatagridStringFilterComponent, "vcd-dg-string-filter", never, {}, {}, never, never, false, never>;
}
/**
 * Creates a {@link FilterRendererSpec} with the given config.
 * @param wildCardPosition where the * should go in the FIQL string output.
 * @param value the default value of the filter
 */
export declare function DatagridStringFilter(wildCardPosition?: WildCardPosition, value?: string): FilterRendererSpec<DatagridStringFilterConfig>;
