-
Notifications
You must be signed in to change notification settings - Fork 25
/
index.d.ts
126 lines (112 loc) · 4.43 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import { Component } from "react";
import { Configuration } from "./configuration";
/**
* The result of an export.
*/
interface PhotoEditorResult {
/** The edited image. */
image: string;
/** An indicator whether the input image was modified at all. */
hasChanges: boolean;
/** All modifications applied to the input image if `export.serialization.enabled` of the `Configuration` was set to `true`. */
serialization?: string | object;
}
declare class PESDK {
/**
* Modally present a photo editor.
* @note EXIF meta data is only preserved in the edited image if and only if the source
* image is loaded from a local `file://` resource.
*
* @param {string | {uri: string} | number} image The source of the image to be edited.
* Can be either an URI (local, remote, data resource, or any other registered scheme for the
* React Native image loader), an object with a member `uri`, or an asset reference which can
* be optained by, e.g., `require('./image.png')` as `number`. If this parameter is `null`,
* the `serialization` parameter must not be `null` and it must contain an embedded source image.
* @param {Configuration} configuration The configuration used to initialize the editor.
* @param {object} serialization The serialization used to initialize the editor. This
* restores a previous state of the editor by re-applying all modifications to the loaded
* image.
*
* @return {Promise<PhotoEditorResult | null>} Returns a `PhotoEditorResult` or `null` if the editor
* is dismissed without exporting the edited image.
*/
static openEditor(
image: string | { uri: string } | number,
configuration?: Configuration,
serialization?: object
): Promise<PhotoEditorResult | null>;
/**
* Unlock PhotoEditor SDK with a license.
*
* @param {string | object} license The license used to unlock the SDK. Can be either an URI
* pointing to a local `file://` resource that contains the license, the license as a string,
* or the license as an object which can be optained by, e.g., `require('./pesdk_license')`
* where the required license files must be named `pesdk_license.ios.json` for the iOS license
* and `pesdk_license.android.json` for the Android license file in order to get automatically
* resolved by the packager.
*/
static unlockWithLicense(license: string | object): Promise<void>;
}
/**
* Props for the `PhotoEditorModal` component.
*/
interface PhotoEditorModalProps {
/**
* This prop determines whether your modal is visible.
*/
visible: boolean;
/**
* This prop determines the source of the image to be edited.
* Can be either an URI (local, remote, data resource, or any other registered scheme for the
* React Native image loader), an object with a member `uri`, or an asset reference which can
* be optained by, e.g., `require('./image.png')` as `number`.
*
* If this prop is `null`, the `serialization` prop must not be `null` and it must contain an
* embedded source image.
*
* @note EXIF meta data is only preserved in the edited image if and only if the source
* image is loaded from a local `file://` resource.
*/
image?: string | { uri: string } | number;
/**
* This prop determines the configuration used to initialize the editor.
*/
configuration?: Configuration;
/**
* This prop determines the serialization used to initialize the editor. This
* restores a previous state of the editor by re-applying all modifications to the loaded
* image.
*/
serialization?: object;
/**
* This prop determines the callback function that will be called when the user exported an image.
*/
onExport: (args: PhotoEditorResult) => void;
/**
* This prop determines the callback function that will be called when the user dismisses the editor without
* exporting an image.
*/
onCancel?: () => void;
/**
* This prop determines the callback function that will be called when an error occurs.
*/
onError?: (error: Error) => void;
}
/**
* State for the `PhotoEditorModal` component.
*/
interface PhotoEditorModalState {
/**
* This state determines whether the modal is visible.
*/
visible: boolean;
}
/**
* A component that wraps the `PESDK.openEditor` function to modally present a photo editor.
*/
declare class PhotoEditorModal extends Component<
PhotoEditorModalProps,
PhotoEditorModalState
> {}
export * from "./configuration";
export { PESDK, PhotoEditorModal, PhotoEditorResult };