import { BlockService } from '@blockeditor/block-std';
import type { BlockElement } from '@blockeditor/lit';
import { FileDropManager } from '../_common/components/file-drop-manager.js';
import { ExportManager } from '../_common/export-manager/export-manager.js';
import type { EmbedCardStyle } from '../_common/types.js';
import { FontLoader } from './font-loader/font-loader.js';
import type { PageBlockModel } from './page-model.js';
export type EmbedOptions = {
    flavour: string;
    urlRegex: RegExp;
    styles: EmbedCardStyle[];
    viewType: 'card' | 'embed';
};
export declare class PageService extends BlockService<PageBlockModel> {
    readonly fontLoader: FontLoader;
    fileDropManager: FileDropManager;
    exportManager: ExportManager;
    private _fileDropOptions;
    private _exportOptions;
    get viewportElement(): HTMLElement;
    private _embedBlockRegistry;
    registerEmbedBlockOptions: (options: EmbedOptions) => void;
    getEmbedBlockOptions: (url: string) => EmbedOptions | null;
    mounted(): void;
    get selectedBlocks(): BlockElement<import("@blockeditor/store").BlockModel<object>, BlockService<import("@blockeditor/store").BlockModel<object>>, string>[];
    get selectedModels(): import("@blockeditor/store").BlockModel<object>[];
    loadFonts(): void;
}
//# sourceMappingURL=page-service.d.ts.map