import { SpanningMode } from '../models/SpanningMode';
import { ISegment } from '../models/ISegment';
export declare class DuoPaneInformationService {
    static readonly ns = "__foldables__";
    private Spanning;
    private FoldSize;
    private BrowserShellSize;
    private Segments;
    private needsDispatch;
    private eventTarget;
    constructor();
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener(type: string, callback: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
    dispatchEvent(event: Event): boolean;
    get foldSize(): number;
    set foldSize(foldSize: number);
    get browserShellSize(): number;
    set browserShellSize(browserShellSize: number);
    get spanning(): SpanningMode;
    set spanning(spanning: SpanningMode);
    set segments(segments: ISegment[]);
    getTwoLargestSegments(): ISegment[];
    get windowSegments(): ISegment[];
    /**
     * Returns a function that won't call `fn` if it was invoked at a
     * faster interval than `wait`.
     */
    debounce(fn: any, wait: number): () => void;
    invalidate(): Promise<void>;
}
