import type { Nullable } from "../../base-types";
import { ICultureLoadOption } from "./culture-load-option";
import { IPropertyLoadOption } from "./property-load-option";
import { IRelationLoadOption } from "./relation-load-option";
/**
 * Represents a loading configuration for querying ids or entities.
 */
export interface IQueryLoadConfiguration {
    /**
     * Gets a value specifying whether entities or ids need to be returned.
     * When false, no entities will be loaded and the load options will be ignored.
     */
    loadEntities: boolean;
    /**
     * Gets the culture load option.
     */
    cultureLoadOption: Nullable<ICultureLoadOption>;
    /**
     * Gets the property load option.
     */
    propertyLoadOption: Nullable<IPropertyLoadOption>;
    /**
     * Gets the relation load option.
     */
    relationLoadOption: Nullable<IRelationLoadOption>;
}
export declare class QueryLoadConfiguration {
    loadEntities: boolean;
    cultureLoadOption: Nullable<ICultureLoadOption>;
    propertyLoadOption: Nullable<IPropertyLoadOption>;
    relationLoadOption: Nullable<IRelationLoadOption>;
    static Ids: Readonly<IQueryLoadConfiguration>;
    static Minimal: Readonly<IQueryLoadConfiguration>;
    static Default: Readonly<IQueryLoadConfiguration>;
    static DefaultCultureFull: Readonly<IQueryLoadConfiguration>;
    static Full: Readonly<IQueryLoadConfiguration>;
    constructor(init?: Partial<IQueryLoadConfiguration>);
    deepClone(): IQueryLoadConfiguration;
}
