export declare class Server {
    name: string;
    ip: string;
}
export declare class Station {
    changeUUID: string;
    stationUUID: string;
    serverUUID: string;
    name: string;
    url: string;
    urlResolved: string;
    homepageUrl: string;
    faviconUrl: string | null;
    tags: string[];
    countryName: string;
    countryCode: string;
    state: string;
    languageNames: string;
    languageCodes: string;
    votes: number;
    lastChangeTime: Date;
    codec: string;
    bitrate: number;
    hls: boolean;
    lastCheckOk: boolean;
    lastCheckDate: Date;
    lastCheckOkDate: Date;
    lastClickDate: Date;
    clickCount: number;
    clickTrend: number;
    sslError: boolean;
    geoLat: number | null;
    geoLong: number | null;
    hasExtendedInfo: boolean | null;
}
export declare class Country {
    name: string;
    code: string;
    stationCount: number;
}
export declare class Codec {
    name: string;
    stationCount: number;
}
export declare class State {
    name: string;
    countryName: string;
    stationCount: number;
}
export declare class Language {
    name: string;
    code: string | null;
    stationCount: number;
}
export declare class Tag {
    name: string;
    stationCount: number;
}
export declare class StationCheck {
    checkUUID: string;
    stationUUID: string;
    source: string;
    codec: string;
    bitrate: number;
    hls: boolean;
    ok: boolean;
    date: Date;
    urlCache: string;
    metainfoOverridesDatabase: boolean;
    public: boolean | null;
    name: string | null;
    description: string | null;
    tags: string[] | null;
    countryCode: string | null;
    countrySubdivisionCode: string | null;
    homepageUrl: string | null;
    faviconUrl: string | null;
    loadBalancer: string | null;
    serverSoftware: string | null;
    sampling: number | null;
    timingMs: number;
    languageCodes: string[] | null;
    sslError: boolean;
    geoLat: number | null;
    geoLong: number | null;
}
export declare class StationCheckStep {
    stepUUID: string;
    parentStepUUID: string | null;
    checkUUID: string;
    stationUUID: string;
    url: string;
    urlType: 'STREAM' | 'REDIRECT' | 'PLAYLIST' | null;
    error: string | null;
    createdAt: Date;
}
export declare class ServerStats {
    supportedVersion: number;
    softwareVersion: string;
    status: string;
    stations: number;
    brokenStations: number;
    tags: number;
    clicksLastHour: number;
    clicksLastDay: number;
    languages: number;
    countries: number;
}
export declare class ServerConfig {
    checkEnabled: boolean;
    prometheusExporterEnabled: boolean;
    pullServers: string[];
    tcpTimeoutSeconds: number;
    brokenStationsNeverWorkingTimeoutSeconds: number;
    brokenStationsTimeoutSeconds: number;
    checksTimeoutSeconds: number;
    clickValidTimeoutSeconds: number;
    clicksTimeoutSeconds: number;
    mirrorPullIntervalSeconds: number;
    updateCachesIntervalSeconds: number;
    serverName: string;
    serverLocation: string;
    serverCountryCode: string;
    checkRetries: number;
    checkBatchsize: number;
    checkPauseSeconds: number;
    apiThreads: number;
    cacheType: string;
    cacheTtl: number;
    languageReplaceFilepath: string;
    languageToCodeFilepath: string;
}
export declare class StationOldVersion {
    changeUUID: string;
    stationUUID: string;
    name: string;
    url: string;
    homepageUrl: string;
    faviconUrl: string | null;
    tags: string[];
    countryName: string;
    countryCode: string;
    state: string;
    languageNames: string;
    languageCodes: string;
    votes: number;
    lastChangeTime: Date;
    geoLat: number | null;
    geoLong: number | null;
}
export declare class StationClick {
    stationUUID: string;
    clickUUID: string;
    clickDate: Date;
}
