## API Report File for "@atlaskit/media-editor".

> Do not edit this file. This report is auto-generated by [API Extractor](https://api-extractor.com/).

[Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)

```ts
import { FileIdentifier } from '@atlaskit/media-client';
import { MediaClient } from '@atlaskit/media-client';
import { default as React_2 } from 'react';
import { WithIntlProps } from 'react-intl-next';
import { WithMediaClientConfigProps } from '@atlaskit/media-client';
import { WrappedComponentProps } from 'react-intl-next';

declare interface AsyncEditorViewState {
  EditorView?: typeof _default;
}

declare interface AsyncSmartMediaEditorState {
  SmartMediaEditor?: SmartEditorWithMediaClientConfigComponent;
}

declare type CancelInputType = 'esc' | 'button';

declare const _default: React_2.FC<
  WithIntlProps<EditorViewProps & WrappedComponentProps<'intl'>>
> & {
  WrappedComponent: React_2.ComponentType<
    EditorViewProps & WrappedComponentProps<'intl'>
  >;
};

export declare interface Dimensions {
  width: number;
  height: number;
}

export declare class EditorView extends React_2.PureComponent<
  EditorViewProps & AsyncEditorViewState,
  AsyncEditorViewState
> {
  static displayName: string;
  static EditorView?: typeof _default;
  state: AsyncEditorViewState;
  UNSAFE_componentWillMount(): Promise<void>;
  render(): JSX.Element;
}

declare interface EditorViewProps {
  readonly imageUrl: string;
  readonly onSave: (image: string, dimensions: Dimensions) => void;
  readonly onCancel: (input: CancelInputType) => void;
  readonly onError: (message: string) => void;
  readonly onAnyEdit?: (tool: Tool, shapeParameters: ShapeParameters) => void;
}

declare interface ShapeParameters {
  color: string;
  lineWidth: number;
  addShadow: boolean;
}

declare type SmartEditorWithMediaClientConfigComponent = React_2.ComponentType<
  SmartEditorWithMediaClientConfigProps
>;

declare type SmartEditorWithMediaClientConfigProps = WithMediaClientConfigProps<
  SmartMediaEditorProps
>;

export declare class SmartMediaEditor extends React_2.PureComponent<
  SmartEditorWithMediaClientConfigProps & AsyncSmartMediaEditorState,
  AsyncSmartMediaEditorState & {
    isErrored: boolean;
  }
> {
  static displayName: string;
  static SmartMediaEditor?: SmartEditorWithMediaClientConfigComponent;
  state: {
    SmartMediaEditor: SmartEditorWithMediaClientConfigComponent | undefined;
    isErrored: boolean;
  };
  UNSAFE_componentWillMount(): Promise<void>;
  render(): JSX.Element | null;
}

declare interface SmartMediaEditorProps {
  identifier: FileIdentifier;
  mediaClient: MediaClient;
  onUploadStart?: (identifier: FileIdentifier, dimensions: Dimensions) => void;
  onFinish?: (identifier: FileIdentifier) => void;
  onClose?: () => void;
}

declare type Tool =
  | 'line'
  | 'blur'
  | 'arrow'
  | 'brush'
  | 'oval'
  | 'rectangle'
  | 'text';

export {};
```
