import * as Cause from "effect/Cause";
import * as Effect from "effect/Effect";
import * as Stream from "effect/Stream";
import type { LogLine } from "../Provider.ts";
import type { PrismaManagementClient } from "./Client.ts";
import type { DeploymentLogsQuery } from "./Types.ts";
declare const PrismaLogStreamError_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
readonly _tag: "PrismaLogStreamError";
} & Readonly;
export declare class PrismaLogStreamError extends PrismaLogStreamError_base<{
message: string;
cause?: unknown;
}> {
}
interface PrismaDeploymentLogLine {
type: "log";
text: string;
byteStart: number;
byteEnd: number;
}
interface PrismaDeploymentTerminalLine {
type: "terminal";
kind: "end" | "error";
code: string;
message: string;
retryable: boolean;
cursor: string | null;
details?: Record;
}
export type PrismaDeploymentLogRecord = PrismaDeploymentLogLine | PrismaDeploymentTerminalLine;
export type ParsedDeploymentLogRecord = {
_tag: "log";
line: LogLine;
raw: PrismaDeploymentLogLine;
} | {
_tag: "terminal";
raw: PrismaDeploymentTerminalLine;
};
export declare const parseDeploymentLogRecord: (message: string, timestamp: Date) => Effect.Effect;
export declare const tailDeploymentLogs: (client: PrismaManagementClient, deploymentId: string, query?: DeploymentLogsQuery) => Stream.Stream;
export {};
//# sourceMappingURL=PrismaLogs.d.ts.map