npaw-plugin-nwf
Version:
NPAW's Plugin
47 lines (46 loc) • 1.1 kB
TypeScript
import SessionsRequest from '../SessionsRequest';
export declare enum SessionState {
STOPPED = "stopped",
STARTED = "started"
}
export interface SendabilityResult {
sendable: boolean;
reason?: string;
}
/**
* Enforces sendability rules based on session state
*/
export default class SendabilityPolicy {
private state;
constructor(initialState?: SessionState);
/**
* Check if a request can be sent
* @param request - Request to check
* @returns Sendability result with reason if not sendable
*/
canSend(request: SessionsRequest): SendabilityResult;
/**
* Check if START request can be sent
*/
private checkStartRequest;
/**
* Check if non-START request can be sent
*/
private checkNonStartRequest;
/**
* Get current session state
*/
getState(): SessionState;
/**
* Set session state
*/
setState(state: SessionState): void;
/**
* Check if session is started
*/
isStarted(): boolean;
/**
* Check if session is stopped
*/
isStopped(): boolean;
}