import { BarcodeBaseProps, BarcodeBasePropsNoUndefined, BarcodeBase } from './BarcodeBase';
export interface Code39Props extends BarcodeBaseProps {
    addCheckDigit?: boolean;
    fullAscii?: boolean;
    narrowWidth?: number;
    wideWidth?: number;
    charGapWidth?: number;
}
export interface Code39PropsNoUndefined extends BarcodeBasePropsNoUndefined {
    addCheckDigit: boolean;
    fullAscii: boolean;
    narrowWidth: number;
    wideWidth: number;
    charGapWidth?: number;
}
export declare const code39PropsDefault: Code39PropsNoUndefined;
export declare class Code39 extends BarcodeBase<Code39Props> {
    constructor(props: Code39Props);
    protected calcSymbolSize(data: string, startChar: string, stopChar: string, cdChar: string): {
        tw: number;
        th: number;
    };
    protected calcCheckDigit(data: string): string;
    protected encodeData(data: string): {
        data: string;
        heightData?: string;
        labelText?: string;
        startChar: string;
        stopChar: string;
    };
    protected getBarSpaceWidth(): number[];
}
