import React, { ReactNode } from "react";
import { IContent, MatrixEvent } from "matrix-js-sdk/src/matrix";
import { TranslationKey } from "../../../../languageHandler";
import { IDevtoolsProps } from "./BaseTool";
export declare const stringify: (object: object) => string;
interface IEventEditorProps extends Pick<IDevtoolsProps, "onBack"> {
    fieldDefs: IFieldDef[];
    defaultContent?: string;
    onSend(fields: string[], content: IContent): Promise<unknown>;
}
interface IFieldDef {
    id: string;
    label: TranslationKey;
    default?: string;
}
export declare const eventTypeField: (defaultValue?: string) => IFieldDef;
export declare const stateKeyField: (defaultValue?: string) => IFieldDef;
export declare const EventEditor: React.FC<IEventEditorProps>;
export interface IEditorProps extends Pick<IDevtoolsProps, "onBack"> {
    mxEvent?: MatrixEvent;
}
interface IViewerProps extends Required<IEditorProps> {
    Editor: React.FC<IEditorProps>;
    extraButton?: ReactNode;
}
export declare const EventViewer: React.FC<IViewerProps>;
export declare const TimelineEventEditor: React.FC<IEditorProps>;
export {};
