import { Store } from '.';
import { StudioCustomLayoutProps } from '../components/public/StudioCustomLayout';
import { LayoutCommandProps, LayoutConfig } from '../types';
import type { LayoutOverrideKey, LayoutOverridePropsByKey } from '../typeConfigs/layout';
import { StudioBaseLayoutState } from '../components/public/StudioBase';
import { StudioLayoutComponentsConfig } from '../components/public/types';
export type CustomLayoutComponentFn
> = (props: P) => StudioLayoutComponentsConfig;
export declare class LayoutStore {
store: Store;
customConfig?: LayoutConfig;
layouts: LayoutCommandProps[];
layoutsById: Map void;
}>;
customLayoutComponents: Map>>;
constructor(store: Store);
get editor(): import("grapesjs").Editor | undefined;
setCustomConfig(config: LayoutConfig): void;
get layoutOverrides(): {
colorPicker?: import("../types").LayoutOverrideCallback<"colorPicker"> | undefined;
colorField?: import("../types").LayoutOverrideCallback<"colorField"> | undefined;
};
getOverrideProps(key: K, opts: {
props: LayoutOverridePropsByKey[K];
editor?: LayoutStore['editor'];
}): LayoutOverridePropsByKey[K];
add(id: string, props: Omit): void;
remove(id: string, opts?: {
force?: boolean;
layout?: LayoutCommandProps;
}): void;
get(id: string): LayoutCommandProps | undefined;
clear(): void;
addCustomLayoutComponent(type: string, component: CustomLayoutComponentFn): void;
getCustomLayoutComponent(type: string): CustomLayoutComponentFn> | undefined;
removeCustomLayoutComponent(type: string): void;
get layoutChildren(): Map>;
}
export declare const useLayoutStore: () => LayoutStore;
export declare const getLayoutStore: () => LayoutStore;