export type UploadCtxProvider = (new () => {
    addEventListener<T extends "change" | "file-added" | "file-removed" | "file-upload-start" | "file-upload-progress" | "file-upload-success" | "file-upload-failed" | "file-url-changed" | "modal-open" | "modal-close" | "done-click" | "upload-click" | "activity-change" | "common-upload-start" | "common-upload-progress" | "common-upload-success" | "common-upload-failed" | "group-created">(type: T, listener: (e: CustomEvent<import("./EventEmitter.js").EventPayload[T]>) => void, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<T_1 extends "change" | "file-added" | "file-removed" | "file-upload-start" | "file-upload-progress" | "file-upload-success" | "file-upload-failed" | "file-url-changed" | "modal-open" | "modal-close" | "done-click" | "upload-click" | "activity-change" | "common-upload-start" | "common-upload-progress" | "common-upload-success" | "common-upload-failed" | "group-created">(type: T_1, listener: (e: CustomEvent<import("./EventEmitter.js").EventPayload[T_1]>) => void, options?: boolean | EventListenerOptions): void;
} & UploadCtxProviderClass) & Omit<typeof UploadCtxProviderClass, "new">;
/**
 * @typedef {import('../../utils/mixinClass.js').MixinClass<
 *   typeof UploadCtxProviderClass,
 *   {
 *     addEventListener<
 *       T extends (typeof import('./EventEmitter.js').EventType)[keyof typeof import('./EventEmitter.js').EventType],
 *     >(
 *       type: T,
 *       listener: (e: CustomEvent<import('./EventEmitter.js').EventPayload[T]>) => void,
 *       options?: boolean | AddEventListenerOptions,
 *     ): void;
 *     removeEventListener<
 *       T extends (typeof import('./EventEmitter.js').EventType)[keyof typeof import('./EventEmitter.js').EventType],
 *     >(
 *       type: T,
 *       listener: (e: CustomEvent<import('./EventEmitter.js').EventPayload[T]>) => void,
 *       options?: boolean | EventListenerOptions,
 *     ): void;
 *   }
 * >} UploadCtxProvider
 */
export const UploadCtxProvider: UploadCtxProvider;
declare class UploadCtxProviderClass extends UploaderBlock {
}
declare namespace UploadCtxProviderClass {
    export { EventType };
}
import { UploaderBlock } from '../../abstract/UploaderBlock.js';
import { EventType } from './EventEmitter.js';
export {};
//# sourceMappingURL=UploadCtxProvider.d.ts.map