import { OjWebElement } from '../';
/**
 * This is the base class for oj-stream-list WebElement, and is generated from the
 * component's metadata. Do not modify these contents since they'll be replaced
 * during the next generation.
 * Put overrides into the WebElements's subclass, OjStreamList.ts.
 */
export declare class OjStreamListBase extends OjWebElement {
    /**
     * Sets the value of <code>expanded</code> property.
     * Specifies the key set containing the keys of the items that should be expanded.
     * @param expanded The value to set for <code>expanded</code>
     *
     */
    changeExpanded(expanded: object): Promise<void>;
    /**
     * Gets the value of <code>expanded</code> property.
     * Specifies the key set containing the keys of the items that should be expanded.
     * @return The value of <code>expanded</code> property.
     *
     */
    getExpanded(): Promise<object>;
    /**
     * Gets the value of <code>scrollPolicy</code> property.
     * Specifies how data are fetched as user scrolls towards the bottom of the list.
     * @return The value of <code>scrollPolicy</code> property.
     *
     */
    getScrollPolicy(): Promise<string>;
    /**
     * Gets the value of <code>scrollPolicyOptions</code> property.
     * Specifies fetch options for scrolling behaviors that trigger data fetches. See the Help documentation for more information.
     * @return The value of <code>scrollPolicyOptions</code> property.
     *
     */
    getScrollPolicyOptions(): Promise<ScrollPolicyOptions>;
    /**
     * Sets the value of <code>scrollPosition</code> property.
     * Specifies the current scroll position of the StreamList. See the Help documentation for more information.
     * @param scrollPosition The value to set for <code>scrollPosition</code>
     *
     */
    changeScrollPosition(scrollPosition: ScrollPosition): Promise<void>;
    /**
     * Gets the value of <code>scrollPosition</code> property.
     * Specifies the current scroll position of the StreamList. See the Help documentation for more information.
     * @return The value of <code>scrollPosition</code> property.
     *
     */
    getScrollPosition(): Promise<ScrollPosition>;
}
export interface ScrollPolicyOptions {
    /**
     * The number of items to fetch in each block.
     */
    fetchSize: number;
    /**
     * The maximum total number of items to fetch.
     */
    maxCount: number;
    /**
     * The element or a CSS selector string to an element used to determine the scroll position as well as the maximum scroll position. See the Help documentation for more information.
     */
    scroller: string;
}
export interface ScrollPosition {
    /**
     * The vertical position in pixels.
     */
    y: number;
    /**
     * The key of the item. If DataProvider is used for data and the key does not exist in the DataProvider or if the item has not been fetched yet, then the value is ignored.
     */
    key: any;
    /**
     * The vertical offset in pixels relative to the item identified by key.
     */
    offsetY: number;
    /**
     * The key of the parent if tree data.
     */
    parentKey: any;
}
