import { ImportBundle, Update, DsnpGraphEdge, Action, DsnpPublicKey, DsnpKeys, Config, ConnectionType, PrivacyType, GraphKeyPair } from "./models";
import { EnvironmentInterface } from "./models/environment";
export declare class Graph {
    private handle;
    constructor(environment: EnvironmentInterface);
    getGraphHandle(): number;
    getGraphConfig(environment: EnvironmentInterface): Promise<Config>;
    getSchemaIdFromConfig(environment: EnvironmentInterface, connectionType: ConnectionType, privacyType: PrivacyType): Promise<number>;
    getGraphStatesCount(): Promise<number>;
    containsUserGraph(dsnpUserId: string): Promise<boolean>;
    getGraphUsersCount(): Promise<number>;
    removeUserGraph(dsnpUserId: string): Promise<boolean>;
    importUserData(payload: ImportBundle[]): Promise<boolean>;
    exportUpdates(): Promise<Update[]>;
    getConnectionsForUserGraph(dsnpUserId: string, schemaId: number, includePending: boolean): Promise<DsnpGraphEdge[]>;
    applyActions(actions: Action[]): Promise<boolean>;
    forceCalculateGraphs(dsnpUserId: string): Promise<Update[]>;
    getConnectionsWithoutKeys(): Promise<string[]>;
    getOneSidedPrivateFriendshipConnections(dsnpUserId: string): Promise<DsnpGraphEdge[]>;
    getPublicKeys(dsnpUserId: string): Promise<DsnpPublicKey[]>;
    static deserializeDsnpKeys(keys: DsnpKeys): Promise<DsnpPublicKey[]>;
    static generateKeyPair(keyType: number): Promise<GraphKeyPair>;
    freeGraphState(): Promise<boolean>;
    printHelloGraph(): void;
}
//# sourceMappingURL=graph.d.ts.map