import { Injector } from '@angular/core';
import { filters, services } from 'typescript-angular-utilities';
import __genericSearchFilter = services.genericSearchFilter;
import { CardContainerController } from '../cardContainer.ng1';
import { IColumn } from '../column';
import * as dataSources from '../dataSources/index';
import * as paging from '../paging/index';
import { IDataSourceBuilderOld, DataSourceBuilderOld } from './dataSourceBuilderOld.service';
import { IFilterBuilderOld, FilterBuilderOld } from './filterBuilderOld.service';
export declare enum CardContainerTypeOld {
    old = 0,
    standard = 1,
    selectable = 2,
}
export interface ICardContainerBuilderOld {
    dataSource: IDataSourceBuilderOld;
    filters: IFilterBuilderOld;
    containerData: any;
    cardController: string;
    cardControllerAs: string;
    cardAs: string;
    maxColumnSorts: number;
    disableSelection: {
        (item: any): string;
    };
    useSearch(tokenized?: boolean): __genericSearchFilter.IGenericSearchFilter;
    searchFilter(filter: __genericSearchFilter.IGenericSearchFilter): __genericSearchFilter.IGenericSearchFilter;
    usePaging(): void;
    addColumn<TItemType>(column: IColumn<TItemType>): void;
    useClickableCards(): void;
    usePermanentFooters(): void;
    useSelection(): void;
    renderFilters(): void;
    saveWhenInvalid(): void;
    findColumnByFieldName(fieldName: string): IColumn<any>;
}
export declare class CardContainerBuilderOld implements ICardContainerBuilderOld {
    _dataSource: dataSources.IDataSourceOld<any>;
    _filters: filters.IFilter[];
    _paging: boolean;
    _columns: IColumn<any>[];
    _clickableCards: boolean;
    _permanentFooters: boolean;
    _selectableCards: boolean;
    _disableSelection: {
        (item: any): string;
    };
    _searchFilter: __genericSearchFilter.IGenericSearchFilter;
    _pager: paging.IDataPagerOld;
    _renderFilters: boolean;
    _saveWhenInvalid: boolean;
    dataSource: DataSourceBuilderOld;
    filters: FilterBuilderOld;
    maxColumnSorts: number;
    containerData: any;
    cardController: string;
    cardControllerAs: string;
    cardAs: string;
    private injector;
    constructor(injector: Injector, dataSourceBuilder: DataSourceBuilderOld, filterBuilder: FilterBuilderOld);
    useSearch(tokenized?: boolean): __genericSearchFilter.IGenericSearchFilter;
    searchFilter(filter: __genericSearchFilter.IGenericSearchFilter): __genericSearchFilter.IGenericSearchFilter;
    usePaging(): void;
    addColumn<TItemType>(column: IColumn<TItemType>): void;
    findColumnByFieldName(fieldName: string): IColumn<any>;
    useClickableCards(): void;
    usePermanentFooters(): void;
    useSelection(): void;
    renderFilters(): void;
    saveWhenInvalid(): void;
    disableSelection: {
        (item: any): string;
    };
    setCardContainerProperties(cardContainer: CardContainerController): void;
}
