import { IProductDefinition } from "./ObjectModel/ObjectModel"; import { IConfiguration } from "./Configuration/ConfigurationInterfaces"; import { Editor } from "./Editor"; declare global { interface Window { CustomersCanvas: { IframeApi: { editorUrl: string; }; }; } } /** * URL to your Customer's Canvas instance. * @remarks Typically, you do not have to specify this URL explicitly. If you add `id="CcIframeApiScript"` to the script tag which links the `IframeApi.js`, Design Editor automatically detects this URL from the script source. However, if for any reasons you do not want to use the id in the script tag, you can use this property to specify the URL to the Design Editor instance explicitly. * @example * ``` js * * * * * * ``` * @public */ export declare let editorUrl: string; /** @internal */ export declare function setEditorUrl(url: string): void; /** * Loads the web-to-print editor. * @param editorFrame - The iframe element to place the editor to. * @param product - The product to load into the editor. * @param config - Editor configuration. * @param onFirstLoad - Outdated. A function that handles the first product launch. For details, see {@link https://customerscanvas.com/dev/editors/iframe-api/customization/preloader.html|Preloader} topic. * @returns An instance of the web-to-print editor. * @example * ``` html * * * * * * * Customer's Canvas Quick Start Sample Page * * * * * * * * * * * * * * * ``` * @public */ export declare function loadEditor(editorFrame: HTMLIFrameElement, product: string | string[] | IProductDefinition, config?: IConfiguration, onFirstLoad?: () => void): Promise; /** * Preloads resources of the web-to-print editor. * @example * ``` html * * * Customer's Canvas Quick Start Sample Page * * * * * * ``` * @public */ export declare function preload(): void; /** @internal */ export declare function loadEditorByQueryString(editorFrame: HTMLIFrameElement, queryString: string, onFirstLoad?: () => void): Promise; /** @internal */ export declare function _createPreConfiguredEditor(editorFrame: HTMLIFrameElement): Editor; /** @internal */ export declare class QueryString { value: string; constructor(value: string); getDeserializedObject(): { key: string; value: string; }[]; } /** @public */ export declare class StateId { value: string; constructor(value: string); }