import { Product, Variation, DraftTemplate } from '../types';
import { fabric } from 'fabric';
export declare function findTemplatesSelectedByVarations(draftTemplates: DraftTemplate[], variations: Variation[]): DraftTemplate[];
export declare function filterVariationsByTemplate(variations: Variation[], template: DraftTemplate): Variation[];
export declare function buildVariationFieldCanvasObject(variation: Variation): {
    canvasObjectType: string;
    value: string | null | undefined;
    fieldId: number | undefined;
    text: string | null | undefined;
    fontSize: number;
    fontFamily: string;
    files?: undefined;
    colour?: undefined;
} | {
    canvasObjectType: string;
    fieldId: number | undefined;
    value: string | null | undefined;
    files: import("../types").MerchiFile[];
    text?: undefined;
    fontSize?: undefined;
    fontFamily?: undefined;
    colour?: undefined;
} | {
    canvasObjectType: string;
    fieldId: number | undefined;
    value: string | null | undefined;
    colour: string | null | undefined;
    text?: undefined;
    fontSize?: undefined;
    fontFamily?: undefined;
    files?: undefined;
} | {
    fieldId: number | undefined;
    value: string | null | undefined;
    canvasObjectType?: undefined;
    text?: undefined;
    fontSize?: undefined;
    fontFamily?: undefined;
    files?: undefined;
    colour?: undefined;
};
export declare function canvasTemplateVariationObjects(variations: Variation[], template: DraftTemplate): ({
    canvasObjectType: string;
    value: string | null | undefined;
    fieldId: number | undefined;
    text: string | null | undefined;
    fontSize: number;
    fontFamily: string;
    files?: undefined;
    colour?: undefined;
} | {
    canvasObjectType: string;
    fieldId: number | undefined;
    value: string | null | undefined;
    files: import("../types").MerchiFile[];
    text?: undefined;
    fontSize?: undefined;
    fontFamily?: undefined;
    colour?: undefined;
} | {
    canvasObjectType: string;
    fieldId: number | undefined;
    value: string | null | undefined;
    colour: string | null | undefined;
    text?: undefined;
    fontSize?: undefined;
    fontFamily?: undefined;
    files?: undefined;
} | {
    fieldId: number | undefined;
    value: string | null | undefined;
    canvasObjectType?: undefined;
    text?: undefined;
    fontSize?: undefined;
    fontFamily?: undefined;
    files?: undefined;
    colour?: undefined;
})[];
export declare function initDraftTemplates(variations: Variation[], product: Product): {
    template: DraftTemplate;
    variationObjects: ({
        canvasObjectType: string;
        value: string | null | undefined;
        fieldId: number | undefined;
        text: string | null | undefined;
        fontSize: number;
        fontFamily: string;
        files?: undefined;
        colour?: undefined;
    } | {
        canvasObjectType: string;
        fieldId: number | undefined;
        value: string | null | undefined;
        files: import("../types").MerchiFile[];
        text?: undefined;
        fontSize?: undefined;
        fontFamily?: undefined;
        colour?: undefined;
    } | {
        canvasObjectType: string;
        fieldId: number | undefined;
        value: string | null | undefined;
        colour: string | null | undefined;
        text?: undefined;
        fontSize?: undefined;
        fontFamily?: undefined;
        files?: undefined;
    } | {
        fieldId: number | undefined;
        value: string | null | undefined;
        canvasObjectType?: undefined;
        text?: undefined;
        fontSize?: undefined;
        fontFamily?: undefined;
        files?: undefined;
        colour?: undefined;
    })[];
}[];
export declare function addVariationsToCanvas(canvas: fabric.Canvas, variations: Variation[], template: DraftTemplate): void;
