import type { _NSData } from "./NSData.js";
import type { _NSDictionary } from "./NSDictionary.js";
import type { _NSError } from "./NSError.js";
import type { _NSString } from "./NSString.js";
import type { _NSXMLParser } from "./NSXMLParser.js";
export interface _NSXMLParserDelegate {
    /** Document handling methods */
    parserDidStartDocument$?(parser: _NSXMLParser): void;
    /** sent when the parser begins parsing of the document. */
    parserDidEndDocument$?(parser: _NSXMLParser): void;
    /** DTD handling methods for various declarations. */
    parser$foundNotationDeclarationWithName$publicID$systemID$?(parser: _NSXMLParser, name: _NSString, publicID: _NSString | null, systemID: _NSString | null): void;
    parser$foundUnparsedEntityDeclarationWithName$publicID$systemID$notationName$?(parser: _NSXMLParser, name: _NSString, publicID: _NSString | null, systemID: _NSString | null, notationName: _NSString | null): void;
    parser$foundAttributeDeclarationWithName$forElement$type$defaultValue$?(parser: _NSXMLParser, attributeName: _NSString, elementName: _NSString, type: _NSString | null, defaultValue: _NSString | null): void;
    parser$foundElementDeclarationWithName$model$?(parser: _NSXMLParser, elementName: _NSString, model: _NSString): void;
    parser$foundInternalEntityDeclarationWithName$value$?(parser: _NSXMLParser, name: _NSString, value: _NSString | null): void;
    parser$foundExternalEntityDeclarationWithName$publicID$systemID$?(parser: _NSXMLParser, name: _NSString, publicID: _NSString | null, systemID: _NSString | null): void;
    parser$didStartElement$namespaceURI$qualifiedName$attributes$?(parser: _NSXMLParser, elementName: _NSString, namespaceURI: _NSString | null, qName: _NSString | null, attributeDict: _NSDictionary): void;
    /**
     * sent when the parser finds an element start tag. In the case of the cvslog tag, the following is what the delegate receives: elementName == cvslog, namespaceURI == http://xml.apple.com/cvslog, qualifiedName == cvslog In the case of the radar tag, the following is what's passed in: elementName == radar, namespaceURI == http://xml.apple.com/radar, qualifiedName == radar:radar If namespace processing >isn't< on, the xmlns:radar="http://xml.apple.com/radar" is returned as an attribute pair, the elementName is 'radar:radar' and there is no qualifiedName.
     */
    parser$didEndElement$namespaceURI$qualifiedName$?(parser: _NSXMLParser, elementName: _NSString, namespaceURI: _NSString | null, qName: _NSString | null): void;
    /**
     * sent when an end tag is encountered. The various parameters are supplied as above.
     */
    parser$didStartMappingPrefix$toURI$?(parser: _NSXMLParser, prefix: _NSString, namespaceURI: _NSString): void;
    /**
     * sent when the parser first sees a namespace attribute. In the case of the cvslog tag, before the didStartElement:, you'd get one of these with prefix == @"" and namespaceURI == @"http://xml.apple.com/cvslog" (i.e. the default namespace) In the case of the radar:radar tag, before the didStartElement: you'd get one of these with prefix == @"radar" and namespaceURI == @"http://xml.apple.com/radar"
     */
    parser$didEndMappingPrefix$?(parser: _NSXMLParser, prefix: _NSString): void;
    /** sent when the namespace prefix in question goes out of scope. */
    parser$foundCharacters$?(parser: _NSXMLParser, string_: _NSString): void;
    /**
     * This returns the string of the characters encountered thus far. You may not necessarily get the longest character run. The parser reserves the right to hand these to the delegate as potentially many calls in a row to -parser:foundCharacters:
     */
    parser$foundIgnorableWhitespace$?(parser: _NSXMLParser, whitespaceString: _NSString): void;
    /**
     * The parser reports ignorable whitespace in the same way as characters it's found.
     */
    parser$foundProcessingInstructionWithTarget$data$?(parser: _NSXMLParser, target: _NSString, data: _NSString | null): void;
    /**
     * The parser reports a processing instruction to you using this method. In the case above, target == @"xml-stylesheet" and data == @"type='text/css' href='cvslog.css'"
     */
    parser$foundComment$?(parser: _NSXMLParser, comment: _NSString): void;
    /**
     * A comment (Text in a <!-- --> block) is reported to the delegate as a single string
     */
    parser$foundCDATA$?(parser: _NSXMLParser, CDATABlock: _NSData): void;
    /** this reports a CDATA block to the delegate as an NSData. */
    parser$resolveExternalEntityName$systemID$?(parser: _NSXMLParser, name: _NSString, systemID: _NSString | null): _NSData | null;
    /**
     * this gives the delegate an opportunity to resolve an external entity itself and reply with the resulting data.
     */
    parser$parseErrorOccurred$?(parser: _NSXMLParser, parseError: _NSError): void;
    /**
     * ...and this reports a fatal error to the delegate. The parser will stop parsing.
     */
    parser$validationErrorOccurred$?(parser: _NSXMLParser, validationError: _NSError): void;
}
