import { TypeExpression } from "../gir.js";
import { IntrospectedClassMember, Options } from "./base.js";
import { IntrospectedClass } from "./class.js";
import { IntrospectedClassFunction, IntrospectedFunctionParameter } from "./function.js";
import { GirSignalElement } from "@gi.ts/parser";
import { FormatGenerator } from "../generators/generator.js";
import { GirVisitor } from "../visitor.js";
import type { OptionsLoad } from "../types/index.js";
export declare enum IntrospectedSignalType {
    CONNECT = 0,
    CONNECT_AFTER = 1,
    EMIT = 2
}
export declare class IntrospectedSignal extends IntrospectedClassMember<IntrospectedClass> {
    parameters: IntrospectedFunctionParameter[];
    return_type: TypeExpression;
    detailed: boolean;
    constructor({ name, parameters, return_type, detailed, parent, ...args }: Options<{
        name: string;
        parameters?: IntrospectedFunctionParameter[];
        return_type?: TypeExpression;
        detailed?: boolean;
        parent: IntrospectedClass;
    }>);
    accept(visitor: GirVisitor): IntrospectedSignal;
    copy({ parent, parameters, returnType, detailed }?: {
        parent?: IntrospectedClass;
        parameters?: IntrospectedFunctionParameter[];
        returnType?: TypeExpression;
        detailed?: boolean;
    }): IntrospectedSignal;
    static fromXML(element: GirSignalElement, parent: IntrospectedClass, options: OptionsLoad): IntrospectedSignal;
    asEmit(): IntrospectedClassFunction<IntrospectedClass>;
    asConnect(after?: boolean): IntrospectedClassFunction<IntrospectedClass>;
    asString<T extends FormatGenerator<unknown>>(generator: T, type?: IntrospectedSignalType): ReturnType<T["generateSignal"]>;
}
