#ifndef EXT_IMAPSIEVE_COMMON_H
#define EXT_IMAPSIEVE_COMMON_H

#include "sieve-extensions.h"

#include "imap-sieve.h"

/*
 * Extensions
 */

struct ext_imapsieve_context {
	const struct sieve_extension *ext_environment;
};

struct ext_vnd_imapsieve_context {
	const struct sieve_extension *ext_imapsieve;
};

extern const struct sieve_extension_def imapsieve_extension;
extern const struct sieve_extension_def imapsieve_extension_dummy;

extern const struct sieve_extension_def vnd_imapsieve_extension;
extern const struct sieve_extension_def vnd_imapsieve_extension_dummy;

/*
 * Environment items
 */

void ext_imapsieve_environment_items_register(
	const struct sieve_extension *ext,
	const struct sieve_runtime_env *renv);
void ext_imapsieve_environment_vendor_items_register(
	const struct sieve_extension *ext,
	const struct sieve_runtime_env *renv);

#endif
