import type { FilterMultiplePassType } from '../enums/filterMultiplePass.type.js';
export interface CollectionOption {
    /**
     * Optionally add a blank entry to the beginning of the collection (only used by the SingleSelect/MultipleSelect Editor or Filter).
     * Useful when we want to return all data by setting an empty filter that might not exist in the original collection
     */
    addBlankEntry?: boolean;
    /** Optionally add a custom entry at the beginning of the collection (only used by the SingleSelect/MultipleSelect Editor or Filter). */
    addCustomFirstEntry?: any;
    /** Optionally add a custom entry at the end of the collection (only used by the SingleSelect/MultipleSelect Editor or Filter). */
    addCustomLastEntry?: any;
    /**
     * When the collection is inside an object descendant property
     * we can optionally pass a dot (.) notation string to pull the collection from an object property.
     * For example if our output data returned by the collectionAsync is inside an object of the following format:
     * myData = { someProperty: { myCollection: [] }, otherProperty: 'something' }
     * We can pass the dot notation string
     * collectionInsideObjectProperty: 'someProperty.myCollection'
     */
    collectionInsideObjectProperty?: string;
    /**
     * Defaults to "chain", when using multiple "collectionFilterBy", do we want to "merge" or "chain" the result after each pass?
     * For example if we have 2 filters to pass by, and we start with pass 1 returning 7 items and last pass returning 5 items
     * "chain" is the default and will return 5 items, since the result of each pass will be used by the next pass
     * "merge" would return the merge of the 7 items and the 5 items (without duplicates), since some items might be the same, the result is anywhere between 5 to 13 items
     */
    filterResultAfterEachPass?: FilterMultiplePassType;
    /** defaults to empty, when using label with prefix/suffix, do we want to add a separator between each text (like a white space) */
    separatorBetweenTextLabels?: string;
    /** defaults to false, should the selected value include the prefix/suffix in the output format */
    includePrefixSuffixToSelectedValues?: boolean;
}
//# sourceMappingURL=collectionOption.interface.d.ts.map