/**
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
*/
/**
* @module import-word/importwordcommand
* @publicApi
*/
import { Command, type Editor } from "@ckeditor/ckeditor5-core";
import { type Batch } from "@ckeditor/ckeditor5-engine";
/**
* The import from Word command.
*
* It sends the Word file to the converter endpoint and inserts its content into the editor.
*/
export declare class ImportWordCommand extends Command {
	/**
	* A command state that indicates if the command is currently executing.
	*
	* @observable
	*/
	isBusy: boolean;
	/**
	* @inheritDoc
	*/
	constructor(editor: Editor);
	/**
	* @inheritDoc
	*/
	override refresh(): void;
	/**
	* Executes the command. Sends the provided file instance to the converter service endpoint and inserts the result into the model.
	*
	* @fires execute
	* @param file The Word file instance to be uploaded for conversion.
	* @param [serviceConfig] Additional options to pass to the converter service.
	*/
	override execute(file: File, serviceConfig?: Record<string, unknown>): Promise<unknown>;
}
/**
* Fired when the converter service returned the HTML content that will be inserted into the editor.
*
* @eventName ~ImportWordCommand#dataInsert
*/
export type ImportWordDataInsertEvent = {
	name: "dataInsert";
	args: [data: ImportWordDataInsertEventData];
};
export interface ImportWordDataInsertEventData {
	/**
	* The batch used to undo all changes made by the command. Each time the command is executed, a new batch is created.
	* Use it when some additional changes should be added to the document as part of the same undo step.
	*/
	readonly undoStepBatch: Batch;
	/**
	* The HTML content to insertion.
	*/
	html: string;
	/**
	* The headers definitions extracted from the Word document.
	* Contains HTML content for different types of headers (default, first page, odd/even pages).
	*/
	headers?: ImportWordDataHeaderFooterDefinitions;
	/**
	* The footers definitions extracted from the Word document.
	* Contains HTML content for different types of footers (default, first page, odd/even pages).
	*/
	footers?: ImportWordDataHeaderFooterDefinitions;
}
/**
* Represents a collection of header or footer definitions corresponding to different page types.
*/
export interface ImportWordDataHeaderFooterDefinitions {
	/**
	* Content for the default header/footer. Used for all pages unless specific overrides (first/odd/even) apply.
	*/
	default?: ImportWordDataHeaderFooterContent;
	/**
	* Content for the first page header/footer.
	*/
	first?: ImportWordDataHeaderFooterContent;
	/**
	* Content for the odd pages header/footer.
	*/
	odd?: ImportWordDataHeaderFooterContent;
	/**
	* Content for the even pages header/footer.
	*/
	even?: ImportWordDataHeaderFooterContent;
}
/**
* Represents the content of a single header or footer variant.
*/
export interface ImportWordDataHeaderFooterContent {
	/**
	* The HTML content of the header or footer.
	*/
	html: string;
}
