export type FileFormatJSON = "AIX" | "EPS" | "GIF" | "JPG" | "PDF" | "PNG8" | "PNG32" | "SVG" | "SVGZ" | "TIFF";
export type FileFormat = Lowercase<FileFormatJSON>;
export type LayoutTemplateJSON = "A3 Landscape" | "A3 Portrait" | "A4 Landscape" | "A4 Portrait" | "Letter ANSI A Landscape" | "Letter ANSI A Portrait" | "MAP_ONLY" | "Tabloid ANSI B Landscape" | "Tabloid ANSI B Portrait";
export type LayoutTemplate = "a3-landscape" | "a3-portrait" | "a4-landscape" | "a4-portrait" | "letter-ansi-a-landscape" | "letter-ansi-a-portrait" | "map-only" | "tabloid-ansi-b-landscape" | "tabloid-ansi-b-portrait";
export interface TemplateInfo<ValueType> {
    choiceList: ValueType[];
    defaultValue: ValueType;
}
export interface TemplatesInfo {
    format: TemplateInfo<FileFormat>;
    layout: TemplateInfo<LayoutTemplate>;
}
type Layout = string;
export type Layouts = Layout[] | "all";
type Format = string;
export type Formats = Format[] | "all";
export type State = "disabled" | "error" | "initializing" | "ready";
export type CustomTextElement = Record<string, string>;
export type TemplateCustomTextElements = Record<string, CustomTextElement[]>;
export interface MapSurroundInfo {
    name: string;
    type: "CIMGroupElement" | "CIMLegend" | "CIMMarkerNorthArrow" | "CIMScaleLine";
    visible: boolean;
    elements?: Omit<MapSurroundInfo, "elements">[];
}
export interface LayoutTemplateInfo {
    layoutTemplate: string;
    pageSize: [number, number];
    pageUnits: string;
    webMapFrameSize: [number, number];
    layoutOptions: {
        hasTitleText: boolean;
        hasAuthorText: boolean;
        hasCopyrightText: boolean;
        hasLegend: boolean;
        customTextElements: CustomTextElement[];
        mapSurroundInfos: MapSurroundInfo[];
    };
}
export {};
