import { JsiiErrorType } from './kernel'; export declare const TOKEN_REF = "$jsii.byref"; export declare const TOKEN_INTERFACES = "$jsii.interfaces"; export declare const TOKEN_DATE = "$jsii.date"; export declare const TOKEN_ENUM = "$jsii.enum"; export declare const TOKEN_MAP = "$jsii.map"; export declare const TOKEN_STRUCT = "$jsii.struct"; export interface ObjRef { readonly [TOKEN_REF]: string; [TOKEN_INTERFACES]?: readonly string[]; } export declare function isObjRef(value: any): value is ObjRef; export interface WireDate { readonly [TOKEN_DATE]: string; } export declare function isWireDate(value: any): value is WireDate; export interface WireEnum { readonly [TOKEN_ENUM]: string; } export declare function isWireEnum(value: any): value is WireEnum; export interface WireMap { readonly [TOKEN_MAP]: { readonly [key: string]: any; }; } export declare function isWireMap(value: any): value is WireMap; export interface WireStruct { readonly [TOKEN_STRUCT]: { readonly fqn: string; readonly data: { [key: string]: any; }; }; } export declare function isWireStruct(value: any): value is WireStruct; export type Override = MethodOverride | PropertyOverride; export interface MethodOverride { readonly method: string; readonly cookie?: string; } export declare function isMethodOverride(value: Override): value is MethodOverride; export interface PropertyOverride { readonly property: string; readonly cookie?: string; } export declare function isPropertyOverride(value: Override): value is PropertyOverride; export interface Callback { readonly cbid: string; readonly cookie: string | undefined; readonly invoke?: InvokeRequest; readonly get?: GetRequest; readonly set?: SetRequest; } export interface HelloResponse { readonly hello: string; } export interface LoadRequest { /** The name of the assembly */ readonly name: string; /** Assembly version */ readonly version: string; /** The tarball of the package */ readonly tarball: string; } export interface LoadResponse { readonly assembly: string; readonly types: number; } export interface GetScriptCommandRequest { readonly assembly: string; readonly script: string; readonly args?: string[]; } export interface GetScriptCommandResponse { command: string; args: string[]; env: Record; } export interface InvokeScriptRequest { readonly assembly: string; readonly script: string; readonly args?: string[]; } export interface InvokeScriptResponse { readonly status: number | null; readonly stdout: string; readonly stderr: string; readonly signal: string | null; } export interface CreateRequest { /** * The FQN of the class of which an instance is requested (or "Object") */ readonly fqn: string; /** * The FQNs of interfaces the instance implements, if any. Declaring * interfaces that the class denoted by `fqn` implements is not necessary. * This means that members of interfaces found in this property should * declare members that are found in the `overrides` property. */ readonly interfaces?: string[]; /** * Arguments to pass to the constructor of `fqn`. ("Object" accepts none) */ readonly args?: any[]; /** * Declarations of method overrides that should trigger callbacks */ readonly overrides?: Override[]; } export type CreateResponse = ObjRef; export interface DelRequest { readonly objref: ObjRef; } export interface DelResponse { } export interface GetRequest { readonly objref: ObjRef; readonly property: string; } export interface StaticGetRequest { readonly fqn: string; readonly property: string; } export interface GetResponse { readonly value: any; } export interface StaticSetRequest { readonly fqn: string; readonly property: string; readonly value: any; } export interface SetRequest { readonly objref: ObjRef; readonly property: string; readonly value: any; } export interface SetResponse { } export interface StaticInvokeRequest { readonly fqn: string; readonly method: string; readonly args?: any[]; } export interface InvokeRequest { readonly objref: ObjRef; readonly method: string; readonly args?: any[]; } export interface InvokeResponse { readonly result: any; } export interface BeginRequest { readonly objref: ObjRef; readonly method: string; readonly args?: any[]; } export interface BeginResponse { readonly promiseid: string; } export interface EndRequest { readonly promiseid: string; } export interface EndResponse { readonly result: any; } export interface CallbacksRequest { } export interface CallbacksResponse { readonly callbacks: Callback[]; } export interface CompleteRequest { readonly cbid: string; readonly err?: string; readonly name?: string; readonly result?: any; } export interface CompleteResponse { readonly cbid: string; } export interface NamingRequest { readonly assembly: string; } export interface NamingResponse { readonly naming: { readonly [language: string]: { readonly [key: string]: any; } | undefined; }; } export interface StatsRequest { } export interface StatsResponse { readonly objectCount: number; } export type KernelRequest = LoadRequest | CreateRequest | DelRequest | GetRequest | SetRequest | InvokeRequest | BeginRequest | EndRequest | CallbacksRequest | CompleteRequest | NamingRequest | StatsRequest; export type KernelResponse = HelloResponse | LoadResponse | CreateResponse | DelResponse | GetResponse | SetResponse | InvokeResponse | BeginResponse | EndResponse | CallbacksResponse | CompleteResponse | NamingResponse | StatsResponse; export interface OkayResponse { readonly ok: any; } export interface ErrorResponse { readonly error: string; readonly stack?: string; readonly name?: JsiiErrorType; } //# sourceMappingURL=api.d.ts.map