import { Emitter, IDisposable, IEventBus, MaybeNull } from '@opensumi/ide-core-browser'; import { Direction, IEditorGroup, IEditorGroupState } from '../../common'; export declare const editorGridUid: Set; export declare class EditorGrid implements IDisposable { parent?: EditorGrid | undefined; private _disposables; editorGroup: IGridEditorGroup | null; children: EditorGrid[]; splitDirection: SplitDirection | undefined; protected readonly _onDidGridStateChange: Emitter; readonly onDidGridStateChange: import("@opensumi/ide-core-browser").Event; protected readonly _onDidGridAndDesendantStateChange: Emitter; readonly onDidGridAndDesendantStateChange: import("@opensumi/ide-core-browser").Event; readonly uid: string; constructor(parent?: EditorGrid | undefined); setEditorGroup(editorGroup: IGridEditorGroup): void; private generateSplitParent; private generateSplitSibling; split(direction: SplitDirection, editorGroup: IGridEditorGroup, before?: boolean): void; dispose(): void; replaceBy(target: EditorGrid): void; emitResizeWithEventBus(eventBus: IEventBus): void; serialize(): IEditorGridState | null; deserialize(state: IEditorGridState, editorGroupFactory: () => IGridEditorGroup, editorGroupRestoreStatePromises: Promise[]): Promise; findGird(direction: Direction, currentIndex?: number): MaybeNull; getFirstLeaf(): MaybeNull; sortEditorGroups(results: IEditorGroup[]): void; move(direction: Direction): void; } export interface IEditorGridState { editorGroup?: IEditorGroupState; splitDirection?: SplitDirection; children?: IEditorGridState[]; } export interface IGridChild { grid: EditorGrid; percentage: number; } export declare enum SplitDirection { Horizontal = 1, Vertical = 2 } export interface IGridEditorGroup extends IEditorGroup { grid: EditorGrid; } export declare function splitDirectionMatches(split: SplitDirection, direction: Direction): boolean; //# sourceMappingURL=grid.service.d.ts.map