import { OnChanges, EventEmitter, SimpleChanges } from '@angular/core';
import { DisplayMode, Jurisdiction, CaseType, CaseState, SearchResultView, SearchResultViewColumn, SearchResultViewItem, CaseField, PaginationMetadata, SortParameters, SearchResultViewItemComparator } from '../../domain';
import { FormGroup } from '@angular/forms';
import { ActivityService, SearchResultViewItemComparatorFactory } from '../../services';
import { CaseReferencePipe } from '../../pipes';
import { AbstractAppConfig } from '../../../app.config';
import { PlaceholderService } from '../../directives';
export declare class SearchResultComponent implements OnChanges {
    private activityService;
    private caseReferencePipe;
    private placeholderService;
    static readonly PARAM_JURISDICTION = "jurisdiction";
    static readonly PARAM_CASE_TYPE = "case-type";
    static readonly PARAM_CASE_STATE = "case-state";
    ICON: DisplayMode;
    jurisdiction: Jurisdiction;
    caseType: CaseType;
    caseState: CaseState;
    caseFilterFG: FormGroup;
    resultView: SearchResultView;
    page: number;
    paginationMetadata: PaginationMetadata;
    metadataFields: string[];
    changePage: EventEmitter<any>;
    paginationPageSize: number;
    hideRows: boolean;
    selected: {
        init?: boolean;
        jurisdiction?: Jurisdiction;
        caseType?: CaseType;
        caseState?: CaseState;
        formGroup?: FormGroup;
        metadataFields?: string[];
        page?: number;
    };
    sortParameters: SortParameters;
    searchResultViewItemComparatorFactory: SearchResultViewItemComparatorFactory;
    draftsCount: number;
    constructor(searchResultViewItemComparatorFactory: SearchResultViewItemComparatorFactory, appConfig: AbstractAppConfig, activityService: ActivityService, caseReferencePipe: CaseReferencePipe, placeholderService: PlaceholderService);
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Hydrates result view with case field definitions.
     */
    hydrateResultView(): void;
    goToPage(page: any): void;
    buildCaseField(col: SearchResultViewColumn, result: SearchResultViewItem): CaseField;
    getColumnsWithPrefix(col: CaseField, result: SearchResultViewItem): CaseField;
    hasResults(): any;
    hasDrafts(): boolean;
    comparator(column: SearchResultViewColumn): SearchResultViewItemComparator;
    sort(column: SearchResultViewColumn): void;
    sortWidget(column: SearchResultViewColumn): "&#9660;" | "&#9650;";
    activityEnabled(): boolean;
    hyphenateIfCaseReferenceOrGet(col: any, result: any): any;
    draftPrefixOrGet(col: any, result: any): any;
    private isSortAscending;
    private currentSortOrder;
    getFirstResult(): number;
    getLastResult(): number;
    getTotalResults(): number;
    private getDraftsCountIfNotPageOne;
    private numberOfDrafts;
}
