import { default as Graph } from './graph';
export interface InitOptions {
    container: HTMLDivElement;
    url: string;
    fit?: 'contain' | 'cover';
    move?: boolean;
    zoom?: boolean;
    scaleMax?: number;
}
export interface CtxConfigType {
    fillStyle?: string;
    strokeStyle?: string;
    lineWidth?: number;
}
export interface MatrixType {
    left: number;
    top: number;
    width: number;
    height: number;
}
export type PolygonDataType = [number, number][];
export type DrawType = {
    rect: MatrixType;
    polygon: PolygonDataType;
};
export type GraphConfigType<T extends keyof DrawType> = {
    data: DrawType[T];
    style?: CtxConfigType;
};
export type GraphMap = new (options: GraphConfigType<any>, scale: number, imageMatrix: MatrixType) => Graph;
export type DrawTaskResolve = {
    id: string;
    data: DrawType[keyof DrawType];
};
export type DrawTaskType = {
    type: keyof DrawType;
    graph: Graph;
    resolve: (params: DrawTaskResolve) => void;
    reject: (params: any) => void;
};
