import { CancellationToken } from 'vscode-jsonrpc';
import { SshMessage } from '../messages/sshMessage';
export declare class SshRequestEventArgs<T extends SshMessage> {
    readonly requestType: string;
    readonly request: T;
    constructor(requestType: string, request: T, principal: object | null, cancellation?: CancellationToken);
    /**
     * Gets the principal for the session that made the request, or null if the
     * session is not authenticated.
     */
    readonly principal: object | null;
    /**
     * An event handler sets this to true if the request is valid and authorized.
     *
     * For async response handling, use `responsePromise` instead.
     */
    isAuthorized?: boolean;
    /**
     * Gets or sets a promise to be filled in by the event handler for async request processing.
     */
    responsePromise?: Promise<SshMessage>;
    /**
     * Gets a token that is cancelled if the session ends before the request handler
     * completes.
     */
    get cancellation(): CancellationToken;
    private cancellationValue;
    toString(): string;
}
//# sourceMappingURL=sshRequestEventArgs.d.ts.map