import IGeometry from "./entities/geomtry";
import { IObjectParser } from "./objects/common";
/**
 * Definition of a layer.
 */
export interface ILayer {
    /**
     * Unique layer name with the dxf/dwg file.
     */
    name: string;
    /**
     * AutoCAD entity handle as hex string
     * @hidden
     */
    handle: string;
    visible: boolean;
    /**
     * @hidden
     */
    colorIndex: number;
    /**
     * color in decimal
     */
    color: number;
    /**
     * @hidden
     */
    frozen: boolean;
    /**
     * @hidden
     */
    flag: number;
    /**
     * @hidden
     */
    lineType: string;
    /**
     * @hidden
     */
    lineweight: 0 | 5 | 9 | 13 | 15 | 18 | 20 | 25 | 30 | 35 | 40 | 50 | 53 | 60 | 70 | 80 | 90 | 100 | 106 | 120 | 140 | 158 | 200 | 211 | -3 | -2 | -1;
}
export default class DxfParser {
    constructor(encoding?: string);
    parse(source: string | ArrayBuffer): IDxf | undefined;
    /**
     * Like {@link parse} but loads libredwg on demand when the buffer is a DWG file.
     * DXF (string or binary) still parses synchronously on the main path.
     */
    parseAsync(source: string | ArrayBuffer): Promise<IDxf | undefined>;
    registerEntityHandler(handlerType: new () => IGeometry): void;
    registerObjectHandler(handlerType: new () => IObjectParser): void;
}
