declare module "packages/kotlin/coroutines/$CoroutineContext$Element" {
import {$CoroutineContext, $CoroutineContext$Type} from "packages/kotlin/coroutines/$CoroutineContext"
import {$CoroutineContext$Key, $CoroutineContext$Key$Type} from "packages/kotlin/coroutines/$CoroutineContext$Key"
import {$Function2, $Function2$Type} from "packages/kotlin/jvm/functions/$Function2"

export interface $CoroutineContext$Element extends $CoroutineContext {

 "get"<E extends $CoroutineContext$Element>(arg0: $CoroutineContext$Key$Type<(E)>): E
 "getKey"(): $CoroutineContext$Key<(any)>
 "fold"<R>(arg0: R, arg1: $Function2$Type<(any), (any), (any)>): R
 "minusKey"(arg0: $CoroutineContext$Key$Type<(any)>): $CoroutineContext
 "plus"(arg0: $CoroutineContext$Type): $CoroutineContext
}

export namespace $CoroutineContext$Element {
const probejs$$marker: never
}
/**
 * Class-specific type exported by ProbeJS, use global Type_
 * types for convenience unless there's a naming conflict.
 */
export type $CoroutineContext$Element$Type = ($CoroutineContext$Element);
/**
 * Global type exported for convenience, use class-specific
 * types if there's a naming conflict.
 */
declare global {
export type $CoroutineContext$Element_ = $CoroutineContext$Element$Type;
}}
declare module "packages/kotlin/coroutines/$Continuation" {
import {$CoroutineContext, $CoroutineContext$Type} from "packages/kotlin/coroutines/$CoroutineContext"

export interface $Continuation<T> {

 "getContext"(): $CoroutineContext
 "resumeWith"(arg0: any): void
}

export namespace $Continuation {
const probejs$$marker: never
}
/**
 * Class-specific type exported by ProbeJS, use global Type_
 * types for convenience unless there's a naming conflict.
 */
export type $Continuation$Type<T> = ($Continuation<(T)>);
/**
 * Global type exported for convenience, use class-specific
 * types if there's a naming conflict.
 */
declare global {
export type $Continuation_<T> = $Continuation$Type<(T)>;
}}
declare module "packages/kotlin/coroutines/$CoroutineContext$Key" {
import {$CoroutineContext$Element, $CoroutineContext$Element$Type} from "packages/kotlin/coroutines/$CoroutineContext$Element"

export interface $CoroutineContext$Key<E extends $CoroutineContext$Element> {

}

export namespace $CoroutineContext$Key {
const probejs$$marker: never
}
/**
 * Class-specific type exported by ProbeJS, use global Type_
 * types for convenience unless there's a naming conflict.
 */
export type $CoroutineContext$Key$Type<E> = ($CoroutineContext$Key<(E)>);
/**
 * Global type exported for convenience, use class-specific
 * types if there's a naming conflict.
 */
declare global {
export type $CoroutineContext$Key_<E> = $CoroutineContext$Key$Type<(E)>;
}}
declare module "packages/kotlin/coroutines/$CoroutineContext" {
import {$CoroutineContext$Key, $CoroutineContext$Key$Type} from "packages/kotlin/coroutines/$CoroutineContext$Key"
import {$Function2, $Function2$Type} from "packages/kotlin/jvm/functions/$Function2"
import {$CoroutineContext$Element, $CoroutineContext$Element$Type} from "packages/kotlin/coroutines/$CoroutineContext$Element"

export interface $CoroutineContext {

 "get"<E extends $CoroutineContext$Element>(arg0: $CoroutineContext$Key$Type<(E)>): E
 "plus"(arg0: $CoroutineContext$Type): $CoroutineContext
 "fold"<R>(arg0: R, arg1: $Function2$Type<(any), (any), (any)>): R
 "minusKey"(arg0: $CoroutineContext$Key$Type<(any)>): $CoroutineContext
}

export namespace $CoroutineContext {
const probejs$$marker: never
}
/**
 * Class-specific type exported by ProbeJS, use global Type_
 * types for convenience unless there's a naming conflict.
 */
export type $CoroutineContext$Type = ($CoroutineContext);
/**
 * Global type exported for convenience, use class-specific
 * types if there's a naming conflict.
 */
declare global {
export type $CoroutineContext_ = $CoroutineContext$Type;
}}
