interface init {
    use directive.{schema-directive};

    // initialization function called to set up the wasm extension
    // if an error happens here, the gateway will refuse to continue.
    // Receives a list of schema directives associated with the extension
    init-gateway-extension: func(
        schema-directives: list<schema-directive>,
        configuration: list<u8>,
    ) -> result<_, string>;
}
