import React from 'react';
import type { Theme } from '../../lib/theming/Theme';
import type { ThemeErrorsType } from './ThemeContextPlayground';
interface ThemeEditorProps {
    editingTheme: Theme;
    currentTheme: Theme;
    currentErrors: ThemeErrorsType;
    onValueChange: (variable: keyof Theme, value: string) => void;
}
interface ThemeEditorState {
    groups: Group[];
    isLoading: boolean;
}
interface Group {
    title: string;
    prefix: string;
    isCommon?: boolean;
}
export declare class ThemeEditor extends React.Component<ThemeEditorProps, ThemeEditorState> {
    state: ThemeEditorState;
    private updateTimeout?;
    render(): React.JSX.Element;
    componentDidMount(): void;
    componentWillUnmount(): void;
    private renderGroups;
}
interface GroupProps {
    editingTheme: Theme;
    currentTheme: Theme;
    currentErrors: ThemeErrorsType;
    title: string;
    variables: Array<keyof Theme>;
    onValueChange: (variable: keyof Theme, value: string) => void;
}
declare const Group: (props: GroupProps) => React.JSX.Element | null;
export {};
