import { type DecoratorNodeData, type DecoratorNodeValueMap } from '../../generate-decorator-node.js';
declare const productProperties: readonly [{
    readonly name: "productImageSrc";
    readonly default: "";
    readonly urlType: "url";
}, {
    readonly name: "productImageWidth";
    readonly default: number | null;
}, {
    readonly name: "productImageHeight";
    readonly default: number | null;
}, {
    readonly name: "productTitle";
    readonly default: "";
    readonly urlType: "html";
    readonly wordCount: true;
}, {
    readonly name: "productDescription";
    readonly default: "";
    readonly urlType: "html";
    readonly wordCount: true;
}, {
    readonly name: "productRatingEnabled";
    readonly default: false;
}, {
    readonly name: "productStarRating";
    readonly default: 5;
}, {
    readonly name: "productButtonEnabled";
    readonly default: false;
}, {
    readonly name: "productButton";
    readonly default: "";
}, {
    readonly name: "productUrl";
    readonly default: "";
}];
export type ProductData = DecoratorNodeData<typeof productProperties>;
export interface ProductNode extends DecoratorNodeValueMap<typeof productProperties> {
}
declare const ProductNode_base: import("../../generate-decorator-node.js").GeneratedDecoratorNodeClass<{
    productImageSrc: string;
    productImageWidth: number | null;
    productImageHeight: number | null;
    productTitle: string;
    productDescription: string;
    productRatingEnabled: boolean;
    productStarRating: number;
    productButtonEnabled: boolean;
    productButton: string;
    productUrl: string;
}, import("../../utils/render-empty-container.js").EmptyContainerOutput | {
    element: HTMLElement;
    type: "outer";
}>;
export declare class ProductNode extends ProductNode_base {
    exportJSON(): {
        type: string;
        version: number;
        productImageSrc: string;
        productImageWidth: number | null;
        productImageHeight: number | null;
        productTitle: string;
        productDescription: string;
        productRatingEnabled: boolean;
        productStarRating: number;
        productButtonEnabled: boolean;
        productButton: string;
        productUrl: string;
    };
    static importDOM(): {
        div: (nodeElem: HTMLElement) => {
            conversion(domNode: HTMLElement): {
                node: import("lexical/LexicalNode.js").LexicalNode;
            } | null;
            priority: 1;
        } | null;
    };
    isEmpty(): boolean;
}
export declare const $createProductNode: (dataset?: ProductData) => ProductNode;
export declare function $isProductNode(node: unknown): node is ProductNode;
export {};
//# sourceMappingURL=ProductNode.d.ts.map