// This file is auto-generated by alef — DO NOT EDIT.
// alef:hash:4e15143f4af1ae8bafbdb1506ef057da924484c66a19483966333558ad437e75
// To regenerate: alef generate
// To verify freshness: alef verify --exit-code
// Issues & docs: https://github.com/kreuzberg-dev/alef

// E2e tests for category: plugin_api
package e2e_test

import (
	"encoding/json"
	"testing"

	kreuzberg "github.com/kreuzberg-dev/kreuzberg/v5"
)

type testStub_register_document_extractor_trait_bridge struct{}

func (testStub_register_document_extractor_trait_bridge) ExtractBytes(content []byte, mimeType string, config kreuzberg.ExtractionConfig) (json.RawMessage, error) { return nil, nil }
func (testStub_register_document_extractor_trait_bridge) ExtractFile(path string, mimeType string, config kreuzberg.ExtractionConfig) (json.RawMessage, error) { return nil, nil }
func (testStub_register_document_extractor_trait_bridge) SupportedMimeTypes() []string { return nil }
func (testStub_register_document_extractor_trait_bridge) Priority() int32 { return 0 }
func (testStub_register_document_extractor_trait_bridge) CanHandle(path string, mimeType string) bool { return false }
func (testStub_register_document_extractor_trait_bridge) Name() string { return "" }
func (testStub_register_document_extractor_trait_bridge) Version() string { return "" }
func (testStub_register_document_extractor_trait_bridge) Initialize() error { return nil }
func (testStub_register_document_extractor_trait_bridge) Shutdown() error { return nil }
func (testStub_register_document_extractor_trait_bridge) Description() string { return "" }
func (testStub_register_document_extractor_trait_bridge) Author() string { return "" }

func Test_RegisterDocumentExtractorTraitBridge(t *testing.T) {
	// register_document_extractor: trait bridge
	_ = kreuzberg.RegisterDocumentExtractor(testStub_register_document_extractor_trait_bridge{})
}

type testStub_register_embedding_backend_trait_bridge struct{}

func (testStub_register_embedding_backend_trait_bridge) Dimensions() uint { return 0 }
func (testStub_register_embedding_backend_trait_bridge) Embed(texts []string) ([][]float32, error) { return nil, nil }
func (testStub_register_embedding_backend_trait_bridge) Name() string { return "" }
func (testStub_register_embedding_backend_trait_bridge) Version() string { return "" }
func (testStub_register_embedding_backend_trait_bridge) Initialize() error { return nil }
func (testStub_register_embedding_backend_trait_bridge) Shutdown() error { return nil }
func (testStub_register_embedding_backend_trait_bridge) Description() string { return "" }
func (testStub_register_embedding_backend_trait_bridge) Author() string { return "" }

func Test_RegisterEmbeddingBackendTraitBridge(t *testing.T) {
	// register_embedding_backend: trait bridge
	_ = kreuzberg.RegisterEmbeddingBackend(testStub_register_embedding_backend_trait_bridge{})
}

type testStub_register_ocr_backend_trait_bridge struct{}

func (testStub_register_ocr_backend_trait_bridge) ProcessImage(imageBytes []byte, config kreuzberg.OcrConfig) (kreuzberg.ExtractionResult, error) { return kreuzberg.ExtractionResult{}, nil }
func (testStub_register_ocr_backend_trait_bridge) ProcessImageFile(path string, config kreuzberg.OcrConfig) (kreuzberg.ExtractionResult, error) { return kreuzberg.ExtractionResult{}, nil }
func (testStub_register_ocr_backend_trait_bridge) SupportsLanguage(lang string) bool { return false }
func (testStub_register_ocr_backend_trait_bridge) BackendType() kreuzberg.OcrBackendType { return "" }
func (testStub_register_ocr_backend_trait_bridge) SupportedLanguages() []string { return nil }
func (testStub_register_ocr_backend_trait_bridge) SupportsTableDetection() bool { return false }
func (testStub_register_ocr_backend_trait_bridge) SupportsDocumentProcessing() bool { return false }
func (testStub_register_ocr_backend_trait_bridge) ProcessDocument(path string, config kreuzberg.OcrConfig) (kreuzberg.ExtractionResult, error) { return kreuzberg.ExtractionResult{}, nil }
func (testStub_register_ocr_backend_trait_bridge) Name() string { return "" }
func (testStub_register_ocr_backend_trait_bridge) Version() string { return "" }
func (testStub_register_ocr_backend_trait_bridge) Initialize() error { return nil }
func (testStub_register_ocr_backend_trait_bridge) Shutdown() error { return nil }
func (testStub_register_ocr_backend_trait_bridge) Description() string { return "" }
func (testStub_register_ocr_backend_trait_bridge) Author() string { return "" }

func Test_RegisterOcrBackendTraitBridge(t *testing.T) {
	// register_ocr_backend: trait bridge
	_ = kreuzberg.RegisterOcrBackend(testStub_register_ocr_backend_trait_bridge{})
}

type testStub_register_post_processor_trait_bridge struct{}

func (testStub_register_post_processor_trait_bridge) Process(result kreuzberg.ExtractionResult, config kreuzberg.ExtractionConfig) error { return nil }
func (testStub_register_post_processor_trait_bridge) ProcessingStage() kreuzberg.ProcessingStage { return "" }
func (testStub_register_post_processor_trait_bridge) ShouldProcess(result kreuzberg.ExtractionResult, config kreuzberg.ExtractionConfig) bool { return false }
func (testStub_register_post_processor_trait_bridge) EstimatedDurationMs(result kreuzberg.ExtractionResult) uint64 { return 0 }
func (testStub_register_post_processor_trait_bridge) Priority() int32 { return 0 }
func (testStub_register_post_processor_trait_bridge) Name() string { return "" }
func (testStub_register_post_processor_trait_bridge) Version() string { return "" }
func (testStub_register_post_processor_trait_bridge) Initialize() error { return nil }
func (testStub_register_post_processor_trait_bridge) Shutdown() error { return nil }
func (testStub_register_post_processor_trait_bridge) Description() string { return "" }
func (testStub_register_post_processor_trait_bridge) Author() string { return "" }

func Test_RegisterPostProcessorTraitBridge(t *testing.T) {
	// register_post_processor: trait bridge
	_ = kreuzberg.RegisterPostProcessor(testStub_register_post_processor_trait_bridge{})
}

type testStub_register_renderer_trait_bridge struct{}

func (testStub_register_renderer_trait_bridge) Render(doc json.RawMessage) (string, error) { return "", nil }
func (testStub_register_renderer_trait_bridge) Name() string { return "" }
func (testStub_register_renderer_trait_bridge) Version() string { return "" }
func (testStub_register_renderer_trait_bridge) Initialize() error { return nil }
func (testStub_register_renderer_trait_bridge) Shutdown() error { return nil }
func (testStub_register_renderer_trait_bridge) Description() string { return "" }
func (testStub_register_renderer_trait_bridge) Author() string { return "" }

func Test_RegisterRendererTraitBridge(t *testing.T) {
	// register_renderer: trait bridge
	_ = kreuzberg.RegisterRenderer(testStub_register_renderer_trait_bridge{})
}

type testStub_register_validator_trait_bridge struct{}

func (testStub_register_validator_trait_bridge) Validate(result kreuzberg.ExtractionResult, config kreuzberg.ExtractionConfig) error { return nil }
func (testStub_register_validator_trait_bridge) ShouldValidate(result kreuzberg.ExtractionResult, config kreuzberg.ExtractionConfig) bool { return false }
func (testStub_register_validator_trait_bridge) Priority() int32 { return 0 }
func (testStub_register_validator_trait_bridge) Name() string { return "" }
func (testStub_register_validator_trait_bridge) Version() string { return "" }
func (testStub_register_validator_trait_bridge) Initialize() error { return nil }
func (testStub_register_validator_trait_bridge) Shutdown() error { return nil }
func (testStub_register_validator_trait_bridge) Description() string { return "" }
func (testStub_register_validator_trait_bridge) Author() string { return "" }

func Test_RegisterValidatorTraitBridge(t *testing.T) {
	// register_validator: trait bridge
	_ = kreuzberg.RegisterValidator(testStub_register_validator_trait_bridge{})
}

func Test_UnregisterDocumentExtractorAfterRegister(t *testing.T) {
	// unregister_document_extractor
	_ = kreuzberg.UnregisterDocumentExtractor(`test-extractor`)
}

func Test_UnregisterEmbeddingBackendAfterRegister(t *testing.T) {
	// unregister_embedding_backend
	_ = kreuzberg.UnregisterEmbeddingBackend(`test-embedding-backend`)
}

func Test_UnregisterPostProcessorAfterRegister(t *testing.T) {
	// unregister_post_processor
	_ = kreuzberg.UnregisterPostProcessor(`test-processor`)
}

func Test_UnregisterRendererAfterRegister(t *testing.T) {
	// unregister_renderer
	_ = kreuzberg.UnregisterRenderer(`test-renderer`)
}

func Test_UnregisterValidatorAfterRegister(t *testing.T) {
	// unregister_validator
	_ = kreuzberg.UnregisterValidator(`test-validator`)
}
