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

type FileAPLConfig = {
    fileName?: string;
};
/**
 * File APL
 *
 * The APL store auth data in the json file.
 *
 * Before using this APL, please take in consideration:
 *   - only stores single auth data entry (setting up a new one will overwrite previous values)
 *   - it's not recommended for production use - redeployment of the application will override
 *     existing values, or data persistence will not be guaranteed at all depending on chosen
 *     hosting solution
 *
 */
declare class FileAPL implements APL {
    private fileName;
    constructor(config?: FileAPLConfig);
    /**
     * Load auth data from a file and return it as AuthData format.
     * In case of incomplete or invalid data, return `undefined`.
     */
    private loadDataFromFile;
    /**
     * Save auth data to file.
     * When `authData` argument is empty, will overwrite file with empty values.
     */
    private saveDataToFile;
    get(saleorApiUrl: string): Promise<AuthData | undefined>;
    set(authData: AuthData): Promise<void>;
    delete(saleorApiUrl: string): Promise<void>;
    getAll(): Promise<AuthData[]>;
}

export { FileAPL, type FileAPLConfig };
