import { ComponentState, LiteralComponentState } from './component-state.model';
export interface LiteralComponentsState {
    readonly components: {
        [name: string]: LiteralComponentState;
    };
    readonly routePathSegments: {
        [segmentId: string]: LiteralComponentsState;
    };
}
/**
 * ** ComponentsState Helper.
 */
export declare class ComponentsStateHelper {
    private _literalComponentsState;
    constructor();
    /**
     * ** Returns LiteralComponentsState from Helper.
     */
    getState(): LiteralComponentsState;
    /**
     * ** Will set state to the local Helper state.
     */
    setState(literalComponentsState: LiteralComponentsState): this;
    /**
     * ** Will return LiteralComponentState for given id and routePathSegments.
     */
    getLiteralComponentState(id: string, routePathSegments?: string[]): LiteralComponentState;
    /**
     * ** Get ComponentState for given id and routePathSegments.
     */
    getComponentState(id: string, routePathSegments?: string[]): ComponentState;
    /**
     * ** Get all ComponentState for given routePathSegments.
     */
    getAllComponentState(routePathSegments: string[]): ComponentState[];
    /**
     * ** Update LiteralComponentState.
     */
    updateLiteralComponentState(literalComponentState: LiteralComponentState): void;
    /**
     * ** Reset component status to NOT_LOADED for all ComponentState in a given routePathSegment.
     */
    resetComponentStates(routePathSegments: string[]): void;
    /**
     * ** Delete all ComponentState for given routePathSegment.
     */
    deleteRoutePathSegments(routePathSegments: string[]): void;
    /**
     * ** Update ComponentState.
     */
    private _updateLiteralComponentState;
    /**
     * ** Get ComponentState.
     */
    private _getLiteralComponentState;
    /**
     * ** Get all components for given routePathSegments.
     */
    private _getAllComponentState;
    /**
     * ** Reset component status to NOT_LOADED for all component in a given context.
     */
    private _resetComponentStates;
    /**
     * ** Delete all components state for a given route path segment.
     */
    private _deleteRoutePathSegments;
    /**
     * ** Normalize Route path segments.
     */
    private _normalizeRoutePathSegments;
    private _shallowCloneComponentsState;
}
