export type FacetTermSortMode = "ValueAsc" | "ValueDesc" | "CountAsc" | "CountDesc";
export type FacetAggregation = "None" | "Max" | "Min" | "Average" | "Sum";
export interface IFacetValue {
    name: string;
    range: string;
    count: number;
    sum: number;
    max: number;
    min: number;
    average: number;
}
export declare class FacetValue implements IFacetValue {
    name: string;
    range: string;
    count: number;
    sum: number;
    max: number;
    min: number;
    average: number;
    toString(): string;
    static toString(facetVal: IFacetValue): string;
}
export declare class FacetResult {
    name: string;
    /**
     * The facet terms and hits up to a limit of MaxResults items (as specified in the facet setup document), sorted
     * in TermSortMode order (as indicated in the facet setup document).
     */
    values: FacetValue[];
    /**
     * A list of remaining terms in term sort order for terms that are outside of the MaxResults count.
     */
    remainingTerms: string[];
    /**
     * The number of remaining terms outside of those covered by the Values terms.
     */
    remainingTermsCount: number;
    remainingHits: number;
}
export interface IFacetOptions {
    termSortMode: FacetTermSortMode;
    includeRemainingTerms: boolean;
    start: number;
    pageSize: number;
}
export declare class FacetOptions implements IFacetOptions {
    termSortMode: FacetTermSortMode;
    includeRemainingTerms: boolean;
    start: number;
    pageSize: number;
    private static _defaultOptions;
    constructor();
    static getDefaultOptions(): IFacetOptions;
}
//# sourceMappingURL=index.d.ts.map