import { ILoadOption } from "./load-option";
import { LoadOption } from "./load-options";
/**
 * Specifies which properties to load.
 */
export interface IPropertyLoadOption extends ILoadOption {
    /**
     * Gets a list of properties that need to be loaded.
     * This is only useful when {@link LoadOption} is {@link LoadOption.Custom}.
     */
    properties: Array<string>;
    /**
     * Creates a deep clone of this instance.
     */
    deepClone(): IPropertyLoadOption;
}
export declare class PropertyLoadOption implements IPropertyLoadOption {
    /**
     * Load no properties.
     */
    static readonly None: Readonly<IPropertyLoadOption>;
    /**
     * Load all properties.
     */
    static readonly All: Readonly<IPropertyLoadOption>;
    loadOption: LoadOption;
    properties: Array<string>;
    constructor(param?: LoadOption | Array<string> | string | PropertyLoadOption);
    deepClone(): IPropertyLoadOption;
}
