#pragma once

struct Pass;
class Buffer;
class Cryptography;
#include <string>

Pass* arg_get(Buffer& decrypted_buffer, const char* label);

Pass* arg_generate(Buffer& decrypted_buffer, Buffer& encrypted_buffer, const char* label, Cryptography& crypto);

void arg_list(Buffer& decrypted_buffer);

void arg_delete(Buffer& decrypted_buffer, Buffer& encrypted_buffer, const char* label, Cryptography& crypto);

void arg_print_all_p(Buffer& decrypted_buffer, std::string& user_pass);

Pass* arg_input(Buffer& decrypted_buffer, Buffer& encrypted_buffer, const char* label, Cryptography& crypto);

void arg_change(Buffer& decrypted_buffer, Buffer& encrypted_buffer, std::string& user_pass, Cryptography& crypto);

void arg_show(Buffer& decrypted_buffer, const char* label);