import React, { ForwardedRef } from 'react';
import { AppLayoutProps } from '../../interfaces';
import { AppLayoutInternalProps, AppLayoutState } from '../interfaces';
import { SkeletonSlotsAttributes } from '../skeleton/interfaces';
import { MergeProps, SharedProps } from './interfaces';
export interface StateManager {
  setState: ((appLayoutState: AppLayoutState, skeletonAttributes: SkeletonSlotsAttributes, deduplicationProps: SharedProps, mergeProps: MergeProps) => void) | undefined;
  hasToolbar: boolean;
  setToolbar: ((hasToolbar: boolean) => void) | undefined;
}
export interface AppLayoutStateProps {
  appLayoutProps: AppLayoutInternalProps;
  stateManager: React.MutableRefObject<StateManager>;
  forwardRef: ForwardedRef<AppLayoutProps.Ref>;
}
export declare const AppLayoutStateProvider: ({
  appLayoutProps,
  stateManager,
  forwardRef
}: AppLayoutStateProps) => JSX.Element;
export declare const createWidgetizedAppLayoutState: (Loader?: (({
  appLayoutProps,
  stateManager,
  forwardRef
}: AppLayoutStateProps) => JSX.Element) | undefined) => ({
  appLayoutProps,
  stateManager,
  forwardRef
}: AppLayoutStateProps) => JSX.Element;