/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { Border, Margin, Padding, RenderMode } from './field-types';
/**
 * Lists the supported symbologies (encodings) for the Barcode component.
 */
export type BarcodeType = 'EAN8' | 'EAN13' | 'UPCE' | 'UPCA' | 'Code11' | 'Code39' | 'Code39Extended' | 'Code93' | 'Code93Extended' | 'Code128' | 'Code128A' | 'Code128B' | 'Code128C' | 'GS1-128' | 'MSImod10' | 'MSImod11' | 'MSImod1010' | 'MSImod1110' | 'POSTNET';
/**
 * Represents the Barcode text label.
 */
export interface BarcodeText {
    /**
     * Sets the color of the text. Accepts any valid CSS color string, including hex and rgb.
     *
     * @default "black"
     */
    color?: string;
    /**
     * Sets the font of the text.
     *
     * @default "16px Consolas, Monaco, Sans Mono, monospace, sans-serif"
     */
    font?: string;
    /**
     * Sets the margin of the text. A numeric value sets all margins.
     *
     * @default 0
     */
    margin?: Margin | number;
    /**
     * Shows or hides the Barcode text label.
     *
     * If you set this property to `false`, the Barcode does not display the value as text below the barcode lines.
     *
     * @default true
     */
    visible?: boolean;
}
/**
 * Represents the Barcode options.
 */
export interface BarcodeOptions {
    /**
     * Sets the background color of the Barcode. Accepts a valid CSS color string, including hex and rgb.
     *
     * @default "white"
     */
    background?: string;
    /**
     * Sets the border of the Barcode.
     */
    border?: Border;
    /**
     * Shows the checksum digit next to the value in the text area.
     *
     * @default true
     */
    checksum?: boolean;
    /**
     * Sets the color of the Barcode. Accepts a valid CSS color string, including hex and rgb.
     *
     * @default "black"
     */
    color?: string;
    /**
     * Sets the height of the Barcode in pixels.
     *
     * @default 100
     */
    height?: number;
    /**
     * Sets the padding of the Barcode. A numeric value sets all paddings.
     *
     * @default 0
     */
    padding?: Padding | number;
    /**
     * Sets the preferred rendering mode of the Barcode.
     *
     * @default "svg"
     */
    renderAs?: RenderMode;
    /**
     * Configures the Barcode text label.
     */
    text?: BarcodeText;
    /**
     * Sets the symbology (encoding) the Barcode uses.
     *
     * @default "Code39"
     */
    type: BarcodeType;
    /**
     * Sets the value of the Barcode.
     */
    value: number | string;
    /**
     * Sets the width of the Barcode in pixels.
     *
     * @default 300
     */
    width?: number;
}
