import type { _NEVPNProtocol } from "./NEVPNProtocol.js";
import type { _NSData } from "../Foundation/NSData.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { NEVPNIKEAuthenticationMethod } from "./NEVPNIKEAuthenticationMethod.js";
export declare class _NEVPNProtocolIPSec extends _NEVPNProtocol {
    static alloc(): _NEVPNProtocolIPSec;
    static new(): _NEVPNProtocolIPSec;
    init(): _NEVPNProtocolIPSec;
    /**
     * The method used to authenticate with the IPSec server. Note that if this property is set to NEVPNIKEAuthenticationMethodNone, extended authentication will still be negotiated if useExtendedAuthentication is set to YES.
     */
    authenticationMethod(): NEVPNIKEAuthenticationMethod;
    setAuthenticationMethod$(value: NEVPNIKEAuthenticationMethod): void;
    /**
     * A flag indicating if extended authentication will be negotiated. This authentication is in addition to the IKE authentication used to authenticate the endpoints of the IKE session. For IKE version 1, when this flag is set X-Auth authentication will be negotiated as part of the IKE session, using the username and password properties as the credential. For IKE version 2, when this flag is set EAP authentication will be negotiated as part of the IKE session, using the username, password, and/or identity properties as the credential depending on which EAP method the server requires.
     */
    useExtendedAuthentication(): boolean;
    setUseExtendedAuthentication$(value: boolean): void;
    /**
     * A persistent reference to a keychain item of class kSecClassGenericPassword containing the IKE shared secret.
     */
    sharedSecretReference(): _NSData;
    setSharedSecretReference$(value: _NSData): void;
    /** A string identifying the local IPSec endpoint for authentication purposes. */
    localIdentifier(): _NSString;
    setLocalIdentifier$(value: _NSString): void;
    /** A string identifying the remote IPSec endpoint for authentication purposes. */
    remoteIdentifier(): _NSString;
    setRemoteIdentifier$(value: _NSString): void;
}
