import { CodeGeneratorRequest, CodeGeneratorResponse_Feature, PluginBase } from "@pqstudio/protobuf_ts_framework";
import { OutFile } from "./out-file";
export declare class ProtobuftsPlugin extends PluginBase<OutFile> {
    protected readonly version: string;
    protected readonly type: string;
    parameters: {
        long_type_string: {
            description: string;
            excludes: string[];
        };
        long_type_number: {
            description: string;
            excludes: string[];
        };
        long_type_bigint: {
            description: string;
            excludes: string[];
        };
        generate_dependencies: {
            description: string;
        };
        client_none: {
            description: string;
            excludes: string[];
        };
        client_call: {
            description: string;
            excludes: string[];
        };
        client_promise: {
            description: string;
            excludes: string[];
        };
        client_rx: {
            description: string;
            excludes: string[];
        };
        force_client_none: {
            description: string;
        };
        enable_angular_annotations: {
            description: string;
            excludes: string[];
        };
        server_none: {
            description: string;
            excludes: string[];
        };
        server_generic: {
            description: string;
            excludes: string[];
        };
        server_grpc: {
            description: string;
            excludes: string[];
        };
        force_server_none: {
            description: string;
        };
        optimize_speed: {
            description: string;
            excludes: string[];
        };
        optimize_code_size: {
            description: string;
            excludes: string[];
        };
        force_optimize_code_size: {
            description: string;
            excludes: string[];
        };
        force_optimize_speed: {
            description: string;
            excludes: string[];
        };
    };
    constructor(version: string, type: string);
    generate(request: CodeGeneratorRequest): OutFile[];
    protected getSupportedFeatures: () => CodeGeneratorResponse_Feature[];
}
