import { EstablishSessionResponse, TickResponse, StopResponse, TeardownSessionResponse, EstablishSessionRequest, TickRequest, StopRequest, TeardownSessionRequest } from "./remote"; export declare const protobufPackage = "bosdyn.api.mission"; /** * Interface for mission callbacks. Mission RemoteGrpc nodes will act as clients * to this service type, calling out to this service when loaded, ticked, or unloaded. */ export interface RemoteMissionService { /** Call this once at mission load time, once for each node that references this remote service. */ EstablishSession(request: EstablishSessionRequest): Promise; /** Call this every time the RemoteGrpc node is ticked. */ Tick(request: TickRequest): Promise; /** * Call this every time the RemoteGrpc node WAS ticked in the previous cycle, but was NOT ticked * in this cycle. Signals that the next tick will be a restart, rather than a continuation. */ Stop(request: StopRequest): Promise; /** * Tells the service it can forget any data associated with the given session ID. * Should be called once for every EstablishSession call. */ TeardownSession(request: TeardownSessionRequest): Promise; } export declare class RemoteMissionServiceClientImpl implements RemoteMissionService { private readonly rpc; constructor(rpc: Rpc); EstablishSession(request: EstablishSessionRequest): Promise; Tick(request: TickRequest): Promise; Stop(request: StopRequest): Promise; TeardownSession(request: TeardownSessionRequest): Promise; } interface Rpc { request(service: string, method: string, data: Uint8Array): Promise; } export {}; //# sourceMappingURL=remote_service.d.ts.map