import { Module } from "@intuitionrobotics/ts-common";
import { FileWrapper } from "@intuitionrobotics/firebase/backend";
import { BaseUploaderFile, DB_Temp_File, TempSecureUrl } from "../../shared/types";
import { OnFileUploaded } from "./BucketListener";
export declare const Temp_Path = "files-temp";
type Config = {
    bucketName?: string;
    uploaderProjectId?: string;
};
export type PostProcessor = (file: FileWrapper, doc: DB_Temp_File) => Promise<void>;
export declare class UploaderModule_Class extends Module<Config> implements OnFileUploaded {
    constructor();
    private storage;
    private postProcessor;
    __onFileUploaded(filePath?: string): Promise<void>;
    setPostProcessor: (validator: {
        [k: string]: PostProcessor;
    }) => void;
    getProcessor: (k: string) => PostProcessor;
    init(): void;
    getUrl(body: BaseUploaderFile[], pathPrefix?: string): Promise<TempSecureUrl[]>;
    fileUploaded: (filePath?: string) => Promise<void>;
    private notifyFrontend;
}
export declare const UploaderModule: UploaderModule_Class;
export {};
