import type { WebMapLike } from "@vertigis/arcgis-extensions/mapping/MapExtension.js";
import type { ItemRef } from "../common/ItemRef.js";
import type { ComponentModelProperties } from "./ComponentModelProperties.js";
import type { ReportModelProperties } from "./ReportModelProperties.js";
/**
 * Properties that can be passed into the constructor for {@link PrintTemplate}.
 */
export interface PrintTemplateModelProperties extends ReportModelProperties {
}
/**
 * A spatial reference grid to use for printing.
 */
export interface SpatialReferenceGrid {
    /**
     * The name of the spatial reference.
     */
    displayName: string;
    /**
     * The well-known ID if there is one.
     */
    wkid?: number;
    /**
     * The well-known text if no well-known ID is provided.
     */
    wkt?: string;
}
/**
 * Configuration for a print form component.
 */
export interface PrintFormModelProperties extends ComponentModelProperties {
    /**
     * The templates to choose from.
     */
    templates?: (ItemRef | PrintTemplateModelProperties)[];
    /**
     * The spatial reference grids to choose from.
     */
    grids?: SpatialReferenceGrid[];
    /**
     * The supported print resolutions to choose from.
     */
    resolutions?: number[];
    /**
     * The supported print scales to choose from.
     */
    scales?: number[];
    /**
     * Whether map only print should be enabled.
     */
    mapOnlyPrintEnabled?: boolean;
    /**
     * Whether the grid print type should be enabled.
     */
    gridPrintEnabled?: boolean;
    /**
     * Whether the line print type should be enabled.
     */
    linePrintEnabled?: boolean;
    /**
     * Whether strict mode for prints should be enabled.
     */
    strictModeEnabled?: boolean;
    /**
     * Web map used as overview map in the print layout; defaults to application
     * map if not set.
     */
    additionalMapOverview?: WebMapLike;
    /**
     * Web map used as overview page map in the print layout; defaults to
     * application map if not set.
     */
    additionalMapOverviewPage?: WebMapLike;
}
