import { APL, AuthData, AplReadyResult, AplConfiguredResult } from '../index.js';

type Params = {
    hashCollectionKey?: string;
};
declare class VercelKvApl implements APL {
    private debug;
    private tracer;
    /**
     * Store all items inside hash collection, to enable read ALL items when needed.
     * Otherwise, multiple redis calls will be needed to iterate over every key.
     *
     * To allow connecting many apps to single KV storage, we need to use different hash collection key for each app.
     */
    private hashCollectionKey;
    constructor(options?: Params);
    get(saleorApiUrl: string): Promise<AuthData | undefined>;
    set(authData: AuthData): Promise<void>;
    delete(saleorApiUrl: string): Promise<void>;
    getAll(): Promise<AuthData[]>;
    isReady(): Promise<AplReadyResult>;
    isConfigured(): Promise<AplConfiguredResult>;
    private envVariablesRequiredByKvExist;
}

export { VercelKvApl };
