import { IBuilder } from "./../../GN-library/xbuilder/lib/IBuilder";
declare abstract class BuilderBase {
    protected gnToken: string;
    protected authToken: string;
    protected userId: string;
    protected remove: boolean;
    protected tsExpire: number;
    protected otherDatas: {
        [k: string]: any;
    };
    protected tsLastUpdate: number;
    protected tsCreate: number;
    protected secretKey: string;
    getGNToken(): string;
    getAuthToken(): string;
    getUserId(): string;
    isRemove(): boolean;
    getTsExpire(): number;
    getOtherDatas(): {};
    getTsLastUpdate(): number;
    getTsCreate(): number;
    getSecretKey(): string;
    setTsCreate(tsCreate: number): Builder;
    setGNToken(gnToken: string): Builder;
    setAuthToken(authToken: string): Builder;
    setUserId(userId: string): Builder;
    setIsRemove(remove: boolean): Builder;
    setTsExpire(tsExpire: number): Builder;
    setTsLastUpdate(tsLastUpdate: number): Builder;
    setOtherData(key: string, value: any): Builder;
    setOtherDatas(otherDatas: {}): Builder;
    removeOtherData(key: string): Builder;
    getOtherData(key: string): any;
    setSecretKey(secretKey: string): Builder;
    build(): AuthInfo;
    constructor();
}
declare class Builder extends BuilderBase implements IBuilder<AuthInfo> {
    setGNToken(gnToken: string): Builder;
    setAuthToken(authToken: string): Builder;
    setUserId(userId: string): Builder;
    setTsExpire(tsExpire: number): Builder;
    setTsCreate(tsCreate: number): Builder;
    setSecretKey(secretKey: string): Builder;
    build(): AuthInfo;
    constructor();
}
export declare class AuthInfo extends BuilderBase {
    constructor(builder: Builder);
    toDocumentData(): {
        gnToken: string;
        authToken: string;
        userId: string;
        isRemove: boolean;
        tsExpire: number;
        otherDatas: {
            [k: string]: any;
        };
        tsCreate: number;
        secretKey: string;
    };
    static Builder(): Builder;
}
export {};
