import { BlockModel } from '@blockeditor/store';
import type { EmbedCardStyle } from '../_common/types.js';
import type { SerializedXYWH } from '../surface-block/utils/xywh.js';
export interface BookmarkBlockUrlData {
    description: string | null;
    icon: string | null;
    image: string | null;
    title: string | null;
}
export interface BookmarkBlockEdgelessProps {
    index: string;
    xywh: SerializedXYWH;
    rotate: number;
}
export declare const BookmarkStyles: EmbedCardStyle[];
export type BookmarkBlockProps = {
    style: (typeof BookmarkStyles)[number];
    url: string;
    caption: string | null;
} & BookmarkBlockUrlData & BookmarkBlockEdgelessProps;
export declare const BookmarkBlockSchema: {
    version: number;
    model: {
        role: "root" | "hub" | "content";
        props: import("@blockeditor/store").PropsGetter<BookmarkBlockProps>;
        flavour: "affine:bookmark";
    } & {
        version: number;
        role: "content";
        parent: string[];
    };
    onUpgrade?: ((data: BookmarkBlockProps, previousVersion: number, latestVersion: number) => void) | undefined;
    transformer?: (() => import("@blockeditor/store").BaseBlockTransformer<BookmarkBlockProps>) | undefined;
};
declare const BookmarkBlockModel_base: import("@blockeditor/global/utils").Constructor<BlockModel<BookmarkBlockProps> & import("../surface-block/index.js").IEdgelessElement>;
export declare class BookmarkBlockModel extends BookmarkBlockModel_base {
}
export {};
//# sourceMappingURL=bookmark-model.d.ts.map