import { SchedulerLike, Observable } from 'rxjs';
interface ITokenWithExp {
    keyId: string;
    signedJwt: string;
    expiresAtMillis: number;
}
export declare function createSelfSignedTokens(params: {
    expireInMillis: number;
    rollNewTokenInMillis: number;
    scheduler?: SchedulerLike;
}, deps?: {
    now: () => Observable<number>;
    signJwt: (partialJwt: import("@aimee-blue/ab-auth").ISignJwtParam, deps?: {
        time: () => Promise<number>;
        auth: typeof import("@aimee-blue/ab-auth/lib/dependencies").buildAuth;
        uniqueJwtId: () => Promise<string>;
        jwtSign: (payload: string, privateKey: string, opts: any) => Promise<string>;
    } | undefined) => Observable<{
        keyId: string;
        signedJwt: string;
    }>;
}): Observable<ITokenWithExp>;
export declare const selfSignedTokens: () => Observable<ITokenWithExp>;
export declare function currentSelfSignedToken(): Promise<string>;
export {};
