import { Security } from "../sdk/models/shared/security.js";
export declare function withAuthorization({ clientId, clientSecret, code, redirectUri, tokenStore, }: {
    clientId: string;
    clientSecret: string;
    code: string;
    redirectUri: string;
    tokenStore: TokenStore;
}): () => Promise<Security>;
export interface TokenStore {
    get(): Promise<{
        token: string;
        refresh_token: string;
        expires: number;
    } | undefined>;
    set(token: string, refresh_token: string, expires: number): Promise<void>;
}
export declare class InMemoryTokenStore implements TokenStore {
    private token;
    private refresh_token;
    private expires;
    constructor();
    get(): Promise<{
        token: string;
        refresh_token: string;
        expires: number;
    }>;
    set(token: string, refresh_token: string, expires: number): Promise<void>;
}
//# sourceMappingURL=withAuthorization.d.ts.map