export interface Wsdl {
    'wsdl:definitions': {
        $: {
            targetNamespace: string;
            [namespace: string]: string;
        };
        'wsdl:types': {
            schema: {
                $: {
                    elementFormDefault: string;
                    targetNamespace: string;
                    [namespace: string]: string;
                };
                annotation: {
                    appinfo: {
                        [index: string]: {
                            $: {
                                [index: string]: string;
                            };
                        };
                    };
                };
                complexType: WsdlComplexType | WsdlComplexType[];
                simpleType: WsdlSimpleType | WsdlSimpleType[];
                element: WsdlElement | WsdlElement[];
            };
        };
        'wsdl:message': WsdlMessage | WsdlMessage[];
        'wsdl:portType': WsdlPortType;
        'wsdl:binding': WsdlBinding | WsdlBinding[];
        'wsdl:service': WsdlService;
    };
}
export interface WsdlComplexType {
    $: {
        abstract: 'true' | 'false';
        name: string;
    };
    annotation?: {
        documentation: string;
    };
    complexContent?: {
        extension: {
            $: {
                base: string;
            };
            sequence?: {
                element: WsdlComplexTypeElement | WsdlComplexTypeElement[];
            };
        };
    };
    sequence?: {
        element: WsdlComplexTypeElement | WsdlComplexTypeElement[];
    };
}
export interface WsdlComplexTypeElement {
    $: {
        maxOccurs: string;
        minOccurs: string;
        name: string;
        type: string;
    };
    annotation?: {
        documentation: string;
    };
}
export interface WsdlSimpleType {
    $: {
        name: string;
    };
    annotation?: {
        documentation: string;
    };
    restriction: {
        $: {
            base: string;
        };
        enumeration: WsdlSimpleTypeEnumeration | WsdlSimpleTypeEnumeration[];
    };
}
export interface WsdlSimpleTypeEnumeration {
    $: {
        value: string;
    };
    annotation?: {
        documentation: string;
    };
}
export interface WsdlElement {
    $: {
        name: string;
        type?: string;
    };
    annotation?: {
        documentation: string;
    };
    complexType?: {
        sequence?: {
            element: WsdlElementElement | WsdlElementElement[];
        };
    };
}
export interface WsdlElementElement {
    $: {
        maxOccurs: string;
        minOccurs: string;
        name: string;
        type: string;
    };
}
export interface WsdlMessage {
    $: {
        name: string;
    };
    'wsdl:part': {
        $: {
            element: string;
            name: string;
        };
    };
}
export interface WsdlPortType {
    $: {
        name: string;
    };
    'wsdl:documentation': string;
    'wsdl:operation': WsdlPortTypeOperation | WsdlPortTypeOperation[];
}
export interface WsdlPortTypeOperation {
    $: {
        name: string;
    };
    'wsdl:documentation': string;
    'wsdl:input': {
        $: {
            message: string;
            name: string;
        };
    };
    'wsdl:output': {
        $: {
            message: string;
            name: string;
        };
    };
    'wsdl:fault': {
        $: {
            message: string;
            name: string;
        };
    };
}
export interface WsdlBinding {
    $: {
        name: string;
        type: string;
    };
    'wsdlsoap:binding': {
        $: {
            style: string;
            transport: string;
        };
    };
    'wsdl:operation': WsdlBindingOperation | WsdlBindingOperation[];
}
export interface WsdlBindingOperation {
    $: {
        name: string;
    };
    'wsdlsoap:operation': {
        $: {
            soapAction: string;
        };
    };
    'wsdl:input': {
        $: {
            name: string;
        };
        'wsdlsoap:header': {
            $: {
                message: string;
                part: string;
                use: string;
            };
        };
        'wsdlsoap:body': {
            $: {
                use: string;
            };
        };
    };
    'wsdl:output': {
        $: {
            name: string;
        };
        'wsdlsoap:header': {
            $: {
                message: string;
                part: string;
                use: string;
            };
        };
        'wsdlsoap:body': {
            $: {
                use: string;
            };
        };
    };
    'wsdl:fault': {
        $: {
            name: string;
        };
        'wsdlsoap:fault': {
            $: {
                name: string;
                use: string;
            };
        };
    };
}
export interface WsdlService {
    $: {
        name: string;
    };
    'wsdl:port': {
        $: {
            binding: string;
            name: string;
        };
        'wsdlsoap:address': {
            $: {
                location: string;
            };
        };
    };
}
