import { APL, AuthData } from '../index.mjs';

type AuthDataRequired = Omit<AuthData, "jwks" | "domain">;
type Options = {
    env: Record<keyof AuthDataRequired, string>;
    /**
     * Enable to log auth data to stdout.
     * Do it once to save data in ENV and disable it later.
     */
    printAuthDataOnRegister?: boolean;
};
declare class EnvAPL implements APL {
    private defaultOptions;
    options: Options;
    constructor(options: Options);
    private isAuthDataValid;
    isReady(): Promise<{
        readonly ready: true;
        error?: undefined;
    } | {
        ready: boolean;
        error: Error;
    }>;
    /**
     * Always return its configured, because otherwise .set() will never be called
     * so env can't be printed
     */
    isConfigured(): Promise<{
        readonly configured: true;
    }>;
    set(authData: AuthData): Promise<void>;
    get(saleorApiUrl: string): Promise<Record<"token" | "saleorApiUrl" | "appId", string> | undefined>;
    getAll(): Promise<Record<"token" | "saleorApiUrl" | "appId", string>[]>;
    delete(): Promise<void>;
}

export { EnvAPL };
