import { Perspective, PerspectiveExpression, PerspectiveInput } from "../perspectives/Perspective";
import { ExceptionType } from "../Exception";
export declare class SentMessage {
    recipient: string;
    message: PerspectiveExpression;
}
export declare class RuntimeInfo {
    ad4mExecutorVersion: string;
    isInitialized: Boolean;
    isUnlocked: Boolean;
}
export declare class ExceptionInfo {
    title: string;
    message: string;
    type: ExceptionType;
    addon?: string;
}
export declare class NotificationInput {
    description: string;
    appName: string;
    appUrl: string;
    appIconPath: string;
    trigger: string;
    perspectiveIds: string[];
    webhookUrl: string;
    webhookAuth: string;
}
export declare class Notification {
    id: string;
    granted: boolean;
    description: string;
    appName: string;
    appUrl: string;
    appIconPath: string;
    trigger: string;
    perspectiveIds: string[];
    webhookUrl: string;
    webhookAuth: string;
}
export declare class TriggeredNotification {
    notification: Notification;
    perspectiveId: string;
    triggerMatch: string;
}
/**
 * Resolver classes are used here to define the GraphQL schema
 * (through the type-graphql annotations)
 * and are spawned in the client tests in Ad4mClient.test.ts.
 * For the latter, they return test fixtures.
 */
export default class RuntimeResolver {
    runtimeQuit(): Boolean;
    runtimeOpenLink(url: string): Boolean;
    runtimeInfo(): RuntimeInfo;
    addTrustedAgents(agents: string[]): string[];
    deleteTrustedAgents(agents: string[]): string[];
    getTrustedAgents(): string[];
    runtimeKnownLinkLanguageTemplates(): string[];
    runtimeAddKnownLinkLanguageTemplates(addresses: string[]): string[];
    runtimeRemoveKnownLinkLanguageTemplates(addresses: string[]): string[];
    runtimeFriends(): string[];
    runtimeAddFriends(dids: string[]): string[];
    runtimeRemoveFriends(dids: string[]): string[];
    runtimeHcAgentInfos(): String;
    runtimeHcAddAgentInfos(agentInfos: any): boolean;
    runtimeVerifyStringSignedByDid(did: string, didSigningKeyId: string, data: string, signedData: string): boolean;
    runtimeSetStatus(status: Perspective): boolean;
    runtimeFriendStatus(did: string): PerspectiveExpression;
    runtimeFriendSendMessage(did: string, message: PerspectiveInput): boolean;
    runtimeMessageInbox(filter?: string): PerspectiveExpression[];
    runtimeMessageOutbox(filter?: string): SentMessage[];
    runtimeMessageReceived(): PerspectiveExpression;
    exceptionOccurred(): ExceptionInfo;
    runtimeRequestInstallNotification(notification: NotificationInput): string;
    runtimeNotifications(): Notification[];
    runtimeUpdateNotification(id: string, notification: NotificationInput): boolean;
    runtimeRemoveNotification(id: string): boolean;
    runtimeGrantNotification(id: string): boolean;
    runtimeNotificationTriggered(): TriggeredNotification;
}
