import { Stream } from 'stream';
import { Service, IResult, IFetchResponse } from '../core';
import { IEvent } from './IEvent';
import { IEventBinary } from './IEventBinary';
export declare class EventBinaryService extends Service<IEventBinary> {
    protected baseUrl: string;
    protected listUrl: string;
    /**
     * Uploads an event binary.
     * @returns Response wrapped in [[IResult]]
     *
     * @param {Stream | Buffer | File | Blob} file file to upload.
     * @param {string | number | IEvent} eventOrId Event or Id of the Event.
     *
     * **Example**
     * ```typescript
     *
     *   const file = Buffer.from('aaa');
     *   const eventId: string | number = 123;
     *
     *    (async () => {
     *      const {data, res} = await eventBinaryService.upload(file, eventId);
     *   })();
     * ```
     */
    upload(file: Stream | Buffer | File | Blob, entityOrId: string | number | IEvent): Promise<IResult<IEventBinary>>;
    /**
     * Downloads the binary for a given event.
     * @returns Response wrapped in [[IFetchResponse]]
     *
     * @param {string | number | IEvent} eventOrId Event or Id of the Event.
     *
     * **Example**
     * ```typescript
     *
     *   const eventId: string | number = 123;
     *
     *    (async () => {
     *      const res = await eventBinaryService.download(eventId);
     *   })();
     */
    download(entityOrId: string | number | IEvent): Promise<IFetchResponse>;
    /**
     * Removes the binary for a given event.
     * @returns Response wrapped in [[IResult]]
     *
     * @param {string | number | IEvent} eventOrId Event or Id of the Event.
     *
     * **Example**
     * ```typescript
     *
     *   const eventId: string | number = 123;
     *
     *    (async () => {
     *      const {data, res} = await eventBinaryService.delete(eventId);
     *   })();
     * ```
     */
    delete(entityOrId: string | number | IEvent): Promise<IResult<null>>;
    protected getDetailUrl(entityOrId: string | number | IEvent): string;
}
//# sourceMappingURL=EventBinaryService.d.ts.map