import { ContentItem } from "./ContentItem";
import { BarcodePermissions } from "./BarcodePermissions";
import { RectangleF } from "../../Math/RectangleF";
import { Color } from "../../Colors";
import { BarcodeFormat } from "./BarcodeFormat";
import { BarcodeData } from "./BarcodeData";
import { BarcodeSubType } from "./BarcodeSubType";
import { ModelComponent } from "../ModelComponent";
export declare class BarcodeItem extends ContentItem {
    private _barcodeContent;
    private _barcodeFormat;
    private _barcodeOptions;
    private _barcodePermissions;
    private _barcodeSubType;
    private _color;
    constructor(format?: BarcodeFormat, content?: string, options?: EncodingOptions, rectangle?: RectangleF);
    get barcodePermissions(): BarcodePermissions;
    set barcodePermissions(value: BarcodePermissions);
    static type: string;
    type: string;
    get barcodeContent(): string;
    set barcodeContent(value: string);
    get barcodeFormat(): BarcodeFormat;
    set barcodeFormat(value: BarcodeFormat);
    get barcodeSubType(): BarcodeSubType;
    set barcodeSubType(value: BarcodeSubType);
    get color(): Color;
    set color(value: Color);
    get barcodeOptions(): EncodingOptions;
    set barcodeOptions(value: EncodingOptions);
    private _subscribeOptionsPropertyChanged;
    private _unsubscribeOptionsPropertyChanged;
    private _onOptionsPropertyChanged;
    get isQrCode(): boolean;
    get isSquareCode(): boolean;
    get isLinearBarcode(): boolean;
    protected _copy(source: BarcodeItem, destination: BarcodeItem, generateNewIds: boolean, appropriateParentContainer: boolean): void;
    equals(other: BarcodeItem): any;
    clone(generateNewIds?: boolean, appropriateParentContainer?: boolean): BarcodeItem;
    getSimplifiedObject(omitProperties?: string[] | string): Object;
    applyPermissionsConstrain(): void;
    get barcodeData(): BarcodeData;
    applyBarcodeData(barcodeData: BarcodeData): void;
}
export declare class EncodingOptions extends ModelComponent {
    width?: number;
    height?: number;
    margin?: number;
    pureBarcode?: boolean;
    errorCorrection?: string;
    characterSet?: string;
    pdf417Compact?: boolean;
    pdf417Compaction?: string;
    pdf417Dimensions?: {};
    disableEci?: boolean;
    code128ForceCodesetB?: boolean;
    aztecLayers?: number;
    qrVersion?: number;
    xDimension?: number;
    databarExpandedSegments?: number;
    equals(other: EncodingOptions): any;
    static type: string;
    type: string;
}
