import type { NobjcObject } from "objc-js";
import type { _TKToken } from "./TKToken.js";
import type { _TKTokenSession } from "./TKTokenSession.js";
export interface _TKTokenDelegate {
    /**
     * @abstract Create new session instance @discussion All operations with objects on the token are performed inside TKTokenSession which represent authentication context. This method is called whenever new authentication context is needed (typically when client application wants to perform token operation using keychain object which has associated LocalAuthentication LAContext which was not yet seen by this token instance). @param token Related token instance.
     */
    token$createSessionWithError$?(token: _TKToken, error: NobjcObject | null): _TKTokenSession | null;
    /**
     * @abstract Terminates previously created session, implementation should free all associated resources. @param token Related token instance.
     */
    token$terminateSession$?(token: _TKToken, session: _TKTokenSession): void;
}
