///
import type { Editor, Page } from 'grapesjs';
import type { CommonStudioLayoutConfigProps, CommonStudioLayoutProps, StudioLayoutComponentsConfig } from './types';
import type { StudioLayoutPanelEditCodeConfig } from './types/StudioPanelEditCodeSchema';
export interface StudioPanelEditCodeEditableState {
page?: Page | null;
code?: string;
codeStyle?: string;
}
export interface StudioPanelEditCodeState extends Required> {
page?: Page | null;
isEmail: boolean;
isCodeChanged: boolean;
isCodeStyleChanged: boolean;
hasChanges: boolean;
}
export interface StudioPanelEditCodeLayoutProps {
editor: Editor;
state: StudioPanelEditCodeState;
setState: (props: Partial) => void;
update: () => void;
}
export interface StudioLayoutPanelEditCodeConfigProps extends CommonStudioLayoutConfigProps {
}
export interface StudioPanelEditCodeProps extends Omit, 'state' | 'layoutBefore' | 'layoutAfter'> {
state?: (props: {
editor: Editor;
}) => Partial;
layoutBefore?: (props: StudioPanelEditCodeLayoutProps) => StudioLayoutComponentsConfig | undefined | void;
layoutAfter?: (props: StudioPanelEditCodeLayoutProps) => StudioLayoutComponentsConfig | undefined | void;
}
export declare const StudioPanelEditCode: import("react").FunctionComponent;
export default StudioPanelEditCode;