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[];
    /**
     * Whether the grid print type should be enabled.
     */
    gridPrintEnabled?: boolean;
    /**
     * Whether the line print type should be enabled.
     */
    linePrintEnabled?: boolean;
}
