import { CustomLogger, Fetcher } from '../types/functions.js';
import { Base, ObjectAttributeMask } from '../types/types.js';
import { ObjectLoader2 } from './objectLoader2.js';
export interface ObjectLoader2FactoryOptions {
    keyRange?: {
        bound: Function;
        lowerBound: Function;
        upperBound: Function;
    };
    indexedDB?: IDBFactory;
    fetch?: Fetcher;
    attributeMask?: ObjectAttributeMask;
    useCache?: boolean;
    debug?: boolean;
    logger?: CustomLogger;
}
export declare class ObjectLoader2Factory {
    static createFromObjects(objects: Base[]): ObjectLoader2;
    static createFromJSON(json: string): ObjectLoader2;
    static createFromUrl(params: {
        serverUrl: string;
        streamId: string;
        objectId: string;
        token?: string;
        headers?: Headers;
        options?: ObjectLoader2FactoryOptions;
        attributeMask?: ObjectAttributeMask;
        objectTypeMask?: string[];
    }): ObjectLoader2;
    static getLogger(providedLogger?: CustomLogger): CustomLogger | undefined;
    static logger: CustomLogger;
}
//# sourceMappingURL=objectLoader2Factory.d.ts.map