import * as H from 'history';
import * as React from 'react';
import * as _monacoSettingsEditorModule from '../settings/MonacoSettingsEditor';
import { EditorAction } from '../site-admin/configHelpers';
import { ErrorLike } from '../util/errors';
interface Props extends Pick<_monacoSettingsEditorModule.Props, 'id' | 'readOnly' | 'height' | 'jsonSchema' | 'isLightTheme'> {
    value: string;
    actions?: EditorAction[];
    loading?: boolean;
    saving?: boolean;
    canEdit?: boolean;
    onSave?: (value: string) => void;
    onChange?: (value: string) => void;
    onDirtyChange?: (dirty: boolean) => void;
    isLightTheme: boolean;
    history: H.History;
}
interface State {
    /** The current contents of the editor, if changed from Props.value. */
    value?: string;
    /** The dynamically imported MonacoSettingsEditor module, undefined while loading. */
    monacoSettingsEditorOrError?: typeof _monacoSettingsEditorModule | ErrorLike;
}
/** Displays a MonacoSettingsEditor component without loading Monaco in the current Webpack chunk. */
export declare class DynamicallyImportedMonacoSettingsEditor extends React.PureComponent<Props, State> {
    state: State;
    private subscriptions;
    private monaco;
    private configEditor?;
    componentDidMount(): void;
    componentWillUnmount(): void;
    private readonly effectiveValue;
    private readonly isDirty;
    render(): JSX.Element | null;
    private onSave;
    private onChange;
    private discard;
    private monacoRef;
    private runAction;
}
export {};
//# sourceMappingURL=DynamicallyImportedMonacoSettingsEditor.d.ts.map