import { Type } from '@angular/core';
import * as GoldenLayout from 'golden-layout';
import { GoldenLayoutConfiguration } from './config';
import { StateStore } from './state';
/**
 * golden-layout component initialization callback type.
 */
export interface ComponentInitCallback extends Function {
    (container: GoldenLayout.Container, componentState: any): void;
}
export interface ComponentInitCallbackFactory {
    createComponentInitCallback(component: Type<any>): ComponentInitCallback;
}
export declare class GoldenLayoutService {
    readonly config: GoldenLayoutConfiguration;
    private readonly stateStore;
    constructor(config: GoldenLayoutConfiguration, stateStore: StateStore);
    initialize(goldenLayout: GoldenLayout, componentInitCallbackFactory: ComponentInitCallbackFactory): void;
    private _saveState(goldenLayout);
    getState(): Promise<any>;
}
