import { Widget } from './Widget';
export interface BidirectionalIterator<T> extends Iterator<T> {
    prev(): IteratorResult<T>;
    seek(value?: T | number): void;
}
export interface WidgetContainer {
    getParent(): WidgetContainer;
    attachWidget<WidgetClass extends Widget>(...args: any[]): WidgetClass;
    dettachWidget(widget: Widget): boolean;
    getWidgetAt(column: number, line: number): Widget;
    [Symbol.iterator](startWidget?: Widget | number): BidirectionalIterator<Widget>;
}
export declare function isWidgetContainer(object: any): object is WidgetContainer;
