import React from 'react';
export declare enum OnChangeEventType {
    PathsUpdate = "pathsUpdate",
    Save = "save"
}
export interface CanvasText {
    text: string;
    font?: string;
    fontSize?: number;
    fontColor?: string;
    overlay?: 'TextOnSketch' | 'SketchOnText';
    anchor: {
        x: number;
        y: number;
    };
    position: {
        x: number;
        y: number;
    };
    coordinate?: 'Absolute' | 'Ratio';
    alignment?: 'Left' | 'Center' | 'Right';
    lineHeightMultiple?: number;
}
export interface PathData {
    id: number;
    color: string;
    width: number;
    data: string[];
}
export interface Path {
    path: PathData;
    size: {
        width: number;
        height: number;
    };
    drawer: string | undefined;
}
export interface StrokeEndData {
    path: PathData;
    size: {
        width: number;
        height: number;
    };
    drawer: string | null;
}
export interface SketchCanvasProps {
    style?: any;
    strokeColor?: string;
    strokeWidth?: number;
    onPathsChange?: (pathsUpdate: any) => void;
    onStrokeStart?: (x: number, y: number) => void;
    onStrokeChanged?: (x: number, y: number) => void;
    onStrokeEnd?: (data: StrokeEndData) => void;
    onSketchSaved?: (success: boolean, path: string) => void;
    onGenerateBase64?: (result: any) => void;
    onCanvasReady?: () => void;
    user?: string;
    touchEnabled?: boolean;
    text?: CanvasText[];
    localSourceImage?: {
        filename: string;
        directory: string;
        mode?: 'AspectFill' | 'AspectFit' | 'ScaleToFill';
    };
    permissionDialogTitle?: string;
    permissionDialogMessage?: string;
}
interface DrawCanvasProps extends Omit<SketchCanvasProps, 'touchEnabled'> {
    pathsToProcess: Path[];
    paths: Path[];
    currentPath: PathData | null;
}
export interface DrawCanvasRef {
    clear: () => void;
    addPath: (data: Path) => void;
    deletePath: (id: number) => void;
    newPath: (id: number, color: string, width: number) => void;
    addPoint: (x: number, y: number) => void;
    endPath: () => void;
    save: (imageType: string, transparent: boolean, folder: string, filename: string, includeImage: boolean, includeText: boolean, cropToImageSize: boolean) => void;
    getBase64: (imageType: string, transparent: boolean, includeImage: boolean, includeText: boolean, cropToImageSize: boolean) => void;
}
declare const DrawCanvas: React.ForwardRefExoticComponent<DrawCanvasProps & React.RefAttributes<DrawCanvasRef>>;
export default DrawCanvas;
//# sourceMappingURL=DrawCanvas.d.ts.map