import { ParsedThread } from './jvm-stacktrace';
export type DumpFormat = "go" | "jvm" | "unknown";
export type ParsedStack = {
    format: "go";
    goroutines: ParsedGoroutine[];
} | {
    format: "jvm";
    threads: ParsedThread[];
} | {
    format: "unknown";
    goroutines: [];
    threads: [];
};
export declare function detectDumpFormat(text: string): DumpFormat;
export declare function parseStackDump(text: string): ParsedStack;
export declare function countStackByState(stack: ParsedStack): Map<string, number>;
export interface ParsedGoroutineFrame {
    functionName: string;
    displayName: string;
    file?: string;
    location?: string;
    line?: number;
    kind: "frame" | "created_by";
    runtime: boolean;
}
export interface ParsedGoroutine {
    id: number;
    state: string;
    rawState: string;
    frames: ParsedGoroutineFrame[];
    raw: string;
    userFrameCount: number;
    topFunction?: string;
    searchText: string;
}
export declare function parseGoroutineDump(text: string): ParsedGoroutine[];
export declare function countGoroutinesByState(goroutines: ParsedGoroutine[]): Map<string, number>;
//# sourceMappingURL=stacktrace.d.ts.map