import type { _NEFilterVerdict } from "./NEFilterVerdict.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { NEFilterReportFrequency } from "./NEFilterReportFrequency.js";
export declare class _NEFilterDataVerdict extends _NEFilterVerdict {
    static alloc(): _NEFilterDataVerdict;
    static new(): _NEFilterDataVerdict;
    init(): _NEFilterDataVerdict;
    /**
     * @method allowVerdict @discussion This class method returns a verdict indicating that the flow should be allowed. @return The NEFilterDataVerdict object.
     */
    static allowVerdict(): _NEFilterDataVerdict;
    /**
     * @method dropVerdict @discussion This class method returns a verdict indicating that the flow should be dropped. @return The NEFilterDataVerdict object.
     */
    static dropVerdict(): _NEFilterDataVerdict;
    /**
     * @method remediateVerdictWithRemediationURLMapKey:remediationButtonTextMapKey: @discussion This class method returns a verdict indicating that a "content blocked" page should be displayed to the user. The block page should contain a link to the given URL. @param remediationURLMapKey Remediation map key used by data plugin to get remediation url. Passing nil will result into data provider being notified with the callback handleRemediationForFlow: @param remediationButtonTextMapKey Remediation button map key used by the data plugin to get the remediation button text. Passing nil will set the button text to "Request Access" @return The NEFilterDataVerdict object.
     */
    static remediateVerdictWithRemediationURLMapKey$remediationButtonTextMapKey$(remediationURLMapKey: _NSString | null, remediationButtonTextMapKey: _NSString | null): _NEFilterDataVerdict;
    /**
     * @method dataVerdictWithPassBytes:peekBytes: @discussion This class method returns a data verdict indicating that the filter is passing a given number of bytes through the filter and needs to see a given number of bytes after the bytes that are passed. @param passBytes The number of bytes to pass through the filter. @param peekBytes The number of bytes after the end of the bytes passed that the filter wants to see in the next call to -[NEFilterDataProvider handleOutboundDataFromFlow:readBytesStartOffset:readBytes:] or -[NEFilterDataProvider handleInboundDataFromFlow:readBytesStartOffset:readBytes:]. @return The data flow verdict.
     */
    static dataVerdictWithPassBytes$peekBytes$(passBytes: number, peekBytes: number): _NEFilterDataVerdict;
    /**
     * @method needRulesVerdict @discussion This class method returns a verdict indicating that control provider needs to be asked how to handle the data flow. The control provider can either drop or allow the flow, or update the rules and ask the data provider to decide on the data flow again. @return The NEFilterDataVerdict object.
     */
    static needRulesVerdict(): _NEFilterDataVerdict;
    /**
     * @method pauseVerdict @discussion This class method returns a verdict indicating that none of the data provider's handler callbacks shall be called for the flow until after the flow is resumed by a call to -[NEFilterDataProvider resumeFlow:withVerdict:]. TCP flows may be paused indefinitely. UDP flows will be dropped if not resumed within 10 seconds of being paused. It is invalid to pause a flow that is already paused. @return The NEFilterDataVerdict object.
     */
    static pauseVerdict(): _NEFilterDataVerdict;
    /**
     * @property statisticsReportFrequency @discussion The frequency at which the data provider's -[NEFilterProvider handleReport:] method is called with a NEFilterReport instance with an event of NEFilterReportEventFlowStatistics. The default value is NEFilterReportFrequencyNone, so by default no statistics are reported.
     */
    statisticsReportFrequency(): NEFilterReportFrequency;
    setStatisticsReportFrequency$(value: NEFilterReportFrequency): void;
}
export interface _NEFilterDataVerdict extends _NSCopying {
}
