import PropTypes from 'prop-types';
export interface IAuthor {
    name?: string;
    iconUrl?: string;
    url?: string;
}
export interface IBody {
    title?: string;
    description?: string;
    url?: string;
}
export interface IFooter {
    iconUrl?: string;
    text: string;
}
export interface IField {
    name: string;
    value: string;
    inline?: boolean;
}
export interface IImage {
    url?: string;
    width?: number;
    height?: number;
}
export interface IEmbed extends IBody {
    author?: IAuthor;
    color?: string;
    fields?: IField[];
    image?: IImage;
    thumbnail?: IImage;
    timestamp?: string;
    footer?: IFooter;
}
interface IHiddenField {
    author?: boolean;
    body?: boolean;
    fields?: boolean;
    images?: boolean;
    footer?: boolean;
}
interface IProps {
    defaultValue: IEmbed;
    showExportSection?: boolean;
    hideFields?: IHiddenField;
    onChange: (data: IEmbed) => void;
}
declare function Generator(props: IProps): JSX.Element;
declare namespace Generator {
    var propTypes: {
        defaultValue: PropTypes.Validator<object>;
        export: PropTypes.Requireable<boolean>;
        onChange: PropTypes.Validator<(...args: any[]) => any>;
    };
    var defaultProps: {
        defaultValue: {};
        showExportSection: boolean;
        onChange: any;
    };
}
export { Generator, };
