import _m0 from "protobufjs/minimal";
export declare const protobufPackage = "dai.proto.event";
export interface BatchUploadEvents {
    events: Event[];
}
export interface Event {
    /** prevents dual uploads, can be a local ID for example */
    nonce?: string | undefined;
    /** timestamp (seconds since 1970) when event originated (useful especially with offline/later upload) */
    createdAt: number;
    /** name to identify event */
    name: string;
    /** arbitrary tags, include tag "snap" for event to be processed snap */
    tags: string[];
    /** arbitrary key/value data */
    extras: {
        [key: string]: string;
    };
    /**
     * how many files to wait to upload, before event is considered complete,
     * notified about, snap created, ...
     */
    expectFilesNum: number;
    /** serial number of source device */
    sourceSerialNumber?: string | undefined;
    /**
     * ID of sending Hub application
     * (to be provided by agent as ENV - `AGENT_APP_ID` - eg `01916edb-3ded-793a-b6ad-cd4395768425`)
     */
    sourceAppId?: string | undefined;
    /**
     * Identifier of sending Hub application
     * (to be provided by agent as ENV - `AGENT_APP_IDENTIFIER` - eg `com.luxonis.counter-app`)
     */
    sourceAppIdentifier?: string | undefined;
}
export interface Event_ExtrasEntry {
    key: string;
    value: string;
}
export interface BatchUploadEventsResult {
    events: EventResult[];
}
export interface EventResult {
    nonce: string;
    accepted?: AcceptedEvent | undefined;
    error?: IngestError | undefined;
}
export interface AcceptedEvent {
    fileUploadUrls: string[];
}
export interface IngestError {
    message: string;
}
export declare const BatchUploadEvents: {
    encode(message: BatchUploadEvents, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchUploadEvents;
    fromJSON(object: any): BatchUploadEvents;
    toJSON(message: BatchUploadEvents): unknown;
    create<I extends Exact<DeepPartial<BatchUploadEvents>, I>>(base?: I): BatchUploadEvents;
    fromPartial<I extends Exact<DeepPartial<BatchUploadEvents>, I>>(object: I): BatchUploadEvents;
};
export declare const Event: {
    encode(message: Event, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Event;
    fromJSON(object: any): Event;
    toJSON(message: Event): unknown;
    create<I extends Exact<DeepPartial<Event>, I>>(base?: I): Event;
    fromPartial<I extends Exact<DeepPartial<Event>, I>>(object: I): Event;
};
export declare const Event_ExtrasEntry: {
    encode(message: Event_ExtrasEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Event_ExtrasEntry;
    fromJSON(object: any): Event_ExtrasEntry;
    toJSON(message: Event_ExtrasEntry): unknown;
    create<I extends Exact<DeepPartial<Event_ExtrasEntry>, I>>(base?: I): Event_ExtrasEntry;
    fromPartial<I extends Exact<DeepPartial<Event_ExtrasEntry>, I>>(object: I): Event_ExtrasEntry;
};
export declare const BatchUploadEventsResult: {
    encode(message: BatchUploadEventsResult, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchUploadEventsResult;
    fromJSON(object: any): BatchUploadEventsResult;
    toJSON(message: BatchUploadEventsResult): unknown;
    create<I extends Exact<DeepPartial<BatchUploadEventsResult>, I>>(base?: I): BatchUploadEventsResult;
    fromPartial<I extends Exact<DeepPartial<BatchUploadEventsResult>, I>>(object: I): BatchUploadEventsResult;
};
export declare const EventResult: {
    encode(message: EventResult, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): EventResult;
    fromJSON(object: any): EventResult;
    toJSON(message: EventResult): unknown;
    create<I extends Exact<DeepPartial<EventResult>, I>>(base?: I): EventResult;
    fromPartial<I extends Exact<DeepPartial<EventResult>, I>>(object: I): EventResult;
};
export declare const AcceptedEvent: {
    encode(message: AcceptedEvent, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): AcceptedEvent;
    fromJSON(object: any): AcceptedEvent;
    toJSON(message: AcceptedEvent): unknown;
    create<I extends Exact<DeepPartial<AcceptedEvent>, I>>(base?: I): AcceptedEvent;
    fromPartial<I extends Exact<DeepPartial<AcceptedEvent>, I>>(object: I): AcceptedEvent;
};
export declare const IngestError: {
    encode(message: IngestError, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): IngestError;
    fromJSON(object: any): IngestError;
    toJSON(message: IngestError): unknown;
    create<I extends Exact<DeepPartial<IngestError>, I>>(base?: I): IngestError;
    fromPartial<I extends Exact<DeepPartial<IngestError>, I>>(object: I): IngestError;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
export declare const protobufName = "Event";
export {};
//# sourceMappingURL=Event.d.ts.map