export declare type Base64 = string;
export declare type Language = string;
export declare type NetworkId = string;
export declare type PlayerId = string;
export declare type GameId = string;
export declare type InstanceId = string;
export declare type ZoneId = string;
export declare type CountryCode = string;
export declare type WebsiteId = string;
export declare type Token = string;
export declare type Timestamp = number;
export interface ILoginData {
    playerId: PlayerId;
    instanceId: InstanceId;
    networkId: NetworkId;
    gameId: GameId;
    language: Language;
    token: Token;
    gameEvents: IGameEvent[];
    zoneId: ZoneId;
    level: number;
    legendLevel?: number;
    xp: number;
    countryCode: CountryCode;
    websiteId: WebsiteId;
    lastPaymentDate: Timestamp;
    registrationDate: Timestamp;
    playerName: string;
    playerInactiveDays?: number;
    dayWentBack?: number;
}
export interface XpChangedPayload {
    current: number;
    prev: number;
}
export interface LevelChangedPayload {
    current: number;
    prev: number;
}
export interface IGameEvent {
    type: number;
    stopDate: number;
    eventData?: {
        collectedAmount?: number;
        minGoldAmount?: number;
        maxGoldAmount?: number;
    };
}
export interface PushEvent<GPayload> {
    id: string;
    payload: GPayload;
}
export declare enum CxfEvents {
    Token = "cxf.token",
    Login = "cxf.login",
    Signup = "cxf.signup",
    GameEventUpdate = "cxf.gameEvent.update",
    GameEventAdd = "cxf.gameEvent.add",
    GameEventRemove = "cxf.gameEvent.remove",
    XpChanged = "cxf.xp.changed",
    LevelChanged = "cxf.level.changed",
    LegendLevelChanged = "cxf.legendLevel.changed",
    Push = "cxf.push",
    OpenIGS = "cxf.igs.open",
    JoinTempServer = "cxf.join.temp.server",
    Subscription = "cxf.subscription",
    RewardedAdStart = "cxf.rewardedad.start",
    RewardedAdDone = "cxf.rewardedad.done"
}
export interface IgsOpenPayload {
    page?: string;
    route?: string;
}
