import { Category, EventStatus } from 'src/event';
import { EventAttribute } from '../common/attributes';
import { Venue } from 'src/venue';
export declare enum ExternalSortOptions {
    Popularity = "popularity",
    Price = "price",
    Title = "title",
    Distance = "distance",
    Score = "score,"
}
export interface CommonEventQuery {
    query?: string;
    include_occurrences?: boolean;
    with?: EventAttribute;
    organizer_id?: string;
}
export interface ListEventsQuery extends CommonEventQuery {
    start_at?: [Date, Date];
    sort_by?: string;
    direction?: string;
    future_events?: boolean;
    name?: string;
}
export interface ExternalEventsQuery {
    sort?: ExternalSortOptions;
    query?: string;
    lat?: number;
    lng?: number;
    max_distance?: number;
    page?: number;
    page_size?: number;
    near_ip?: string;
    near_me?: boolean;
}
export interface ExternalOrganizer {
    city?: string;
    country?: string;
    displayName: string;
    name: string;
    street1?: string;
    zip?: string;
}
export interface ExternalEvent {
    currency?: string;
    description?: string;
    externalCheckoutUrl?: string;
    externalUrl?: string;
    id: string;
    mainImageUri?: string;
    name?: string;
    organizer?: ExternalOrganizer;
    price?: number;
    status?: EventStatus;
    type?: string;
    venue?: Venue;
}
export interface ExternalPaging {
    page?: number;
    pageSize?: number;
    total?: number;
}
export interface ExternalEventsInfo {
    name: string;
    paging?: ExternalPaging;
    events?: ExternalEvent[];
}
export interface ProviderSpecificId {
    id: string;
    provider: string;
}
export interface ExtendedCategory extends Category {
    tenantName?: string;
}
export type Links = {
    [key: string]: string;
};
export interface Categories {
    data: ExtendedCategory[];
    links: Links;
}
//# sourceMappingURL=types.d.ts.map