/** * Copyright (C) 2025 by Fonoster Inc (https://fonoster.com) * http://github.com/fonoster/fonoster * * This file is part of Fonoster * * Licensed under the MIT License (the "License"); * you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * https://opensource.org/licenses/MIT * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Stream as StreamObj } from "stream"; import { StartStreamRequest, StopStreamRequest, StreamPayload } from "@fonoster/common"; import { z } from "zod"; import { Verb } from "./Verb"; declare class StartStream extends Verb { getValidationSchema(): z.Schema; } declare class StopStream extends Verb { getValidationSchema(): z.Schema; } declare class Stream { stream: StreamObj; constructor(); close(): void; onPayload(callback: (payload: StreamPayload) => void): void; write(payload: StreamPayload): void; onPayloadIn(callback: (payload: StreamPayload) => void): void; emit(event: "payloadIn" | "payloadOut", payload: StreamPayload): void; cleanup(callback: () => void): void; } export { StartStream, StopStream, Stream };