import { Discipline } from './loader/discipline';
import { BimApiLoadOptionsWithIfcChangePredicate } from './BimApiLoadOptions';
/** Factory class for various prebuilt Bim API loader option configurations */
export declare class BimApiLoadOptionsFactory {
    /** Loads IFC files matching the floor filter (must contain one of the floors) and all objects in them.
     * @param floors List of floors a IFC file must have at least one reference to in ordered to be considered for loading.
     * If length = 0 then all files will be matched.
     */
    static all(floors?: string[]): BimApiLoadOptionsWithIfcChangePredicate;
    /** Only loads IFC files which match SimpleBuilding criteria. In those files only IFC objects
     * which match Simplebuilding criterias will keep their geometries. Any IFC objects that
     * have no children and where {@link BimIfcObject.hasGeometry} === false will be removed from
     * the IFC hierarchy.
     * @param floors List of floors a IFC file must have at least one reference to in ordered to be considered for loading. If 0 length then all files will be matched
     */
    static simpleBuilding(floors?: string[]): BimApiLoadOptionsWithIfcChangePredicate;
    /** Only loads IFC files which match the architecture criteria. In those files only IFC objects
     * which match architecture criteria will keep their geometries. Any IFC objects that
     * have no children and where {@link BimIfcObject.hasGeometry} === false will be removed from
     * the IFC hiearchy.
     * @param floors List of floors a IFC file must have at least one reference to in ordered to be considered for loading. If 0 length then all files will be matched
     */
    static architecture(floors?: string[]): BimApiLoadOptionsWithIfcChangePredicate;
    /** Only loads IFC files cotaining spaces from disciplines A and AR. In those files, only IFC objects
     * which are spaces will keep their geometries. Any IFC objects that have no children and
     * where {@link BimIfcObject.hasGeometry} === false will be removed from the IFC hierarchy.
     * @param floors List of floors a IFC file must have at least one reference to in ordered to be considered for loading.
     * If length = 0, then all files will be matched.
     */
    static space(floors?: string[]): BimApiLoadOptionsWithIfcChangePredicate;
    /** Only loads IFC files which contain the given floors and disciplines criteria. In those files, only IFC objects
     * which above criterias will keep their geometries. Any IFC objects that
     * have no children and where {@link BimIfcObject.hasGeometry} === false will be removed from
     * the IFC hierarchy.
     * @param disciplines List of disciplines that each IFC file is matched against. IFC file will only be loaded if it has matching
     * discipline. If length = 0 length, it will match all disciplines.
     * @param floors List of floors to which an IFC file must include at least one floor reference to be eligible for loading.
     * If length = 0 then all files will be matched.
     */
    static discipline(disciplines?: Discipline[], floors?: string[], removeLeafIfcObjectsWithNoGeometry?: boolean): BimApiLoadOptionsWithIfcChangePredicate;
}
//# sourceMappingURL=BimApiLoadOptionsFactory.d.ts.map