import { SecurityToken, DotDto } from './base';
/** Representa los distintos eventos que existen en el sistema */
export declare enum EventTypeEnum {
    Fire = 1,
    Accident = 2,
    Crime = 3,
    WithoutWater = 4,
    WithoutElectricity = 5,
    WithoutDigitalServices = 6,
    ProblemsPublicTransport = 7,
    Weahter = 8,
    Earthquake = 9,
    Turbulence = 10,
    AuthorityPresence = 11,
}
export declare enum EventRequestQuantityEnum {
    Single = 1,
    All = 2,
}
export declare enum EventRequestDetailEnum {
    Detail = 1,
    Resume = 2,
}
export interface EventRequestType {
    quantityType: EventRequestQuantityEnum;
    detailType?: EventRequestDetailEnum;
}
/** Request para obtener un evento */
export interface GetEventRequest extends SecurityToken, EventRequestType {
    eventId: string;
}
/** Request eventos resumidos para una cierta área */
export interface GetResumeEventsRequest extends SecurityToken, EventRequestType {
    hash: string;
}
/** Response eventos resumidos para una cierta área */
export interface GetResumeEventsResponse extends DotDto {
    hash: string;
    count: number;
}
/** Request eventos detallados cercanos */
export interface GetDetailEventsRequest extends SecurityToken, EventRequestType {
    hash: string;
}
/** Representa el resumen de un evento, con la información mínima necesaria para mostrarla en el mapa  */
export interface EventInfoHeaderDto extends DotDto {
    eventId: string;
    eventTypes: EventTypeEnum[];
}
/** Respuesta del sistema cuando se solicitan los eventos cercanos */
export interface GetDetailEventsResponse {
    hash: string;
    events: EventInfoHeaderDto[];
}
/** Para la creación de un nuevo evento */
export interface CreateEventRequest extends DotDto, SecurityToken {
    comment: string;
    eventTypes: EventTypeEnum[];
}
/** Representa la respuesta al crear un evento. */
export interface EventInfoDto extends DotDto {
    userId: string;
    userName: string;
    comment: string;
    eventTypes: EventTypeEnum[];
    eventId: string;
    yearMonthDay: number;
    geoHash: string;
    createdAt: number;
    lastWrite: number;
    photoLinks?: string[];
    videoLinks?: string[];
    commentsIds?: string[];
}
