import { FormatGenerator } from "./generator.js";
import { IntrospectedNamespace } from "../gir/namespace.js";
import { IntrospectedBaseClass, IntrospectedRecord, IntrospectedInterface, IntrospectedClass } from "../gir/class.js";
import { IntrospectedConstant } from "../gir/const.js";
import { IntrospectedEnum, IntrospectedError, GirEnumMember } from "../gir/enum.js";
import { IntrospectedProperty, IntrospectedField } from "../gir/property.js";
import { IntrospectedSignal, IntrospectedSignalType } from "../gir/signal.js";
import { IntrospectedFunction, IntrospectedConstructor, IntrospectedFunctionParameter, IntrospectedCallback, IntrospectedDirectAllocationConstructor, IntrospectedClassCallback } from "../gir/function.js";
import { IntrospectedClassFunction, IntrospectedStaticClassFunction, IntrospectedVirtualClassFunction } from "../gir/function.js";
import { TypeExpression, Generic } from "../gir.js";
import { IntrospectedAlias } from "../gir/alias.js";
import { AnyIntrospectedType } from "../gir/base.js";
import { OptionsGeneration } from "../types/options-generation.js";
export declare function versionImportFormat(versionFormat: string, namespace: string, version: string): string;
export declare abstract class DtsGenerator extends FormatGenerator<string> {
    constructor(namespace: IntrospectedNamespace, options: OptionsGeneration);
    protected generateParameters(parameters: IntrospectedFunctionParameter[]): string;
    generateGenerics(nodes: Generic[], withDefaults?: boolean): string;
    generateCallbackType(node: IntrospectedCallback | IntrospectedClassCallback): [string, string];
    generateCallback(node: IntrospectedCallback | IntrospectedClassCallback): string;
    generateClassCallback(node: IntrospectedClassCallback): string;
    generateReturn(return_type: TypeExpression, output_parameters: IntrospectedFunctionParameter[]): string;
    generateEnum(node: IntrospectedEnum): string;
    generateError(node: IntrospectedError): string;
    generateConst(node: IntrospectedConstant): string;
    protected implements(node: IntrospectedClass): string;
    protected extends(node: IntrospectedBaseClass): string;
    generateInterface(node: IntrospectedInterface): string;
    generateRecord(node: IntrospectedRecord): string;
    generateClass(node: IntrospectedClass): string;
    generateField(node: IntrospectedField): string;
    generateProperty(node: IntrospectedProperty, construct?: boolean): string;
    generateSignal(node: IntrospectedSignal, type?: IntrospectedSignalType): string;
    generateEnumMember(node: GirEnumMember): string;
    generateParameter(node: IntrospectedFunctionParameter): string;
    docString(node: AnyIntrospectedType): string;
    generateFunction(node: IntrospectedFunction): string;
    generateConstructorFunction(node: IntrospectedConstructor): string;
    generateConstructor(node: IntrospectedConstructor): string;
    generateDirectAllocationConstructor(node: IntrospectedDirectAllocationConstructor): string;
    generateClassFunction(node: IntrospectedClassFunction): string;
    generateStaticClassFunction(node: IntrospectedStaticClassFunction): string;
    generateAlias(node: IntrospectedAlias): string;
    generateVirtualClassFunction(node: IntrospectedVirtualClassFunction): string;
}
