import type { ArkmeExtensionCatalogItem, ArkmeExtensionIconResult, ArkmeExtensionMetadataUpdateInput, ArkmeExtensionPreviewGallery } from '../extensions/types.js'; import type { ArkmeExtensionEditFormValue } from './ArkmeExtensionEditDialog.js'; import type { ArkmeMyExtensionItem } from '../extensions/owned-types.js'; import type { ExtensionPreviewDraft } from './extension-preview-edit.js'; export interface ExtensionEditMutation { signature: string; id: string; } export declare function nextExtensionEditMutation(previous: ExtensionEditMutation | undefined, extensionId: string, value: Pick, createId: () => string): ExtensionEditMutation; export type ExtensionEditSaveResult = { kind: 'saved'; extension: ArkmeExtensionCatalogItem; icon?: ArkmeExtensionIconResult; previews?: ArkmeExtensionPreviewGallery; } | { kind: 'metadata-saved-icon-failed'; extension: ArkmeExtensionCatalogItem; error: string; } | { kind: 'profile-saved-preview-failed'; extension: ArkmeExtensionCatalogItem; icon?: ArkmeExtensionIconResult; previews?: ArkmeExtensionPreviewGallery; previewDraft: ExtensionPreviewDraft; error: string; }; export declare function applyEditedMyExtension(item: ArkmeMyExtensionItem, extension: ArkmeExtensionCatalogItem): ArkmeMyExtensionItem; export declare function saveExtensionEdit(input: { extension: ArkmeExtensionCatalogItem; value: ArkmeExtensionEditFormValue; clientMutationId: string; }, dependencies: { updateMetadata(extensionId: string, input: ArkmeExtensionMetadataUpdateInput): Promise; setIcon(extensionId: string, file: File): Promise; addPreview?(extensionId: string, file: File, mutationId: string): Promise; deletePreview?(extensionId: string, previewRef: string, revision: number): Promise; reorderPreviews?(extensionId: string, refs: string[], revision: number): Promise; }): Promise; //# sourceMappingURL=extension-edit-flow.d.ts.map