import { BlsKeyManagementSystem } from '@sphereon/ssi-sdk-bls-kms-local/dist/BlsKeyManagementSystem';
import { DataSource } from 'typeorm';
import { Resolver } from 'did-resolver';
import { ContextDoc } from '@sphereon/ssi-sdk-vc-handler-ld-local/dist/types/types';
import { IGaiaxComplianceConfig } from '../types';
export declare function setupGXAgent(opts: {
    dbFile?: string;
    dbConnection?: Promise<DataSource>;
    dbEncryptionKey: string;
    customContext?: Map<string, ContextDoc>;
    config?: IGaiaxComplianceConfig;
}): Promise<{
    agent: {
        [x: string]: import("@veramo/core").RemoveContext<import("@veramo/core").IPluginMethod>;
        resolveDid: import("@veramo/core").RemoveContext<(args: import("@veramo/core").ResolveDidArgs) => Promise<import("did-resolver").DIDResolutionResult>>;
        getDIDComponentById: import("@veramo/core").RemoveContext<(args: import("@veramo/core").GetDIDComponentArgs) => Promise<import("@veramo/core").DIDDocComponent>>;
        keyManagerGetKeyManagementSystems: import("@veramo/core").RemoveContext<() => Promise<string[]>>;
        keyManagerCreate: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IKeyManagerCreateArgs) => Promise<import("@veramo/core").ManagedKeyInfo>>;
        keyManagerGet: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IKeyManagerGetArgs) => Promise<import("@veramo/core").IKey>>;
        keyManagerDelete: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IKeyManagerDeleteArgs) => Promise<boolean>>;
        keyManagerImport: import("@veramo/core").RemoveContext<(args: import("@veramo/core").MinimalImportableKey) => Promise<import("@veramo/core").ManagedKeyInfo>>;
        keyManagerSign: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IKeyManagerSignArgs) => Promise<string>>;
        keyManagerSharedSecret: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IKeyManagerSharedSecretArgs) => Promise<string>>;
        keyManagerEncryptJWE: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IKeyManagerEncryptJWEArgs) => Promise<string>>;
        keyManagerDecryptJWE: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IKeyManagerDecryptJWEArgs) => Promise<string>>;
        keyManagerSignJWT: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IKeyManagerSignJWTArgs) => Promise<string>>;
        keyManagerSignEthTX: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IKeyManagerSignEthTXArgs) => Promise<string>>;
        didManagerGetProviders: import("@veramo/core").RemoveContext<() => Promise<string[]>>;
        didManagerFind: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDIDManagerFindArgs) => Promise<import("@veramo/core").IIdentifier[]>>;
        didManagerGet: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDIDManagerGetArgs) => Promise<import("@veramo/core").IIdentifier>>;
        didManagerGetByAlias: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDIDManagerGetByAliasArgs) => Promise<import("@veramo/core").IIdentifier>>;
        didManagerCreate: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDIDManagerCreateArgs, context: import("@veramo/core").IAgentContext<import("@veramo/core").IKeyManager>) => Promise<import("@veramo/core").IIdentifier>>;
        didManagerSetAlias: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDIDManagerSetAliasArgs, context: import("@veramo/core").IAgentContext<import("@veramo/core").IKeyManager>) => Promise<boolean>>;
        didManagerGetOrCreate: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDIDManagerGetOrCreateArgs, context: import("@veramo/core").IAgentContext<import("@veramo/core").IKeyManager>) => Promise<import("@veramo/core").IIdentifier>>;
        didManagerUpdate: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDIDManagerUpdateArgs, context: import("@veramo/core").IAgentContext<import("@veramo/core").IKeyManager>) => Promise<import("@veramo/core").IIdentifier>>;
        didManagerImport: import("@veramo/core").RemoveContext<(args: import("@veramo/core").MinimalImportableIdentifier, context: import("@veramo/core").IAgentContext<import("@veramo/core").IKeyManager>) => Promise<import("@veramo/core").IIdentifier>>;
        didManagerDelete: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDIDManagerDeleteArgs, context: import("@veramo/core").IAgentContext<import("@veramo/core").IKeyManager>) => Promise<boolean>>;
        didManagerAddKey: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDIDManagerAddKeyArgs, context: import("@veramo/core").IAgentContext<import("@veramo/core").IKeyManager>) => Promise<any>>;
        didManagerRemoveKey: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDIDManagerRemoveKeyArgs, context: import("@veramo/core").IAgentContext<import("@veramo/core").IKeyManager>) => Promise<any>>;
        didManagerAddService: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDIDManagerAddServiceArgs, context: import("@veramo/core").IAgentContext<import("@veramo/core").IKeyManager>) => Promise<any>>;
        didManagerRemoveService: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDIDManagerRemoveServiceArgs, context: import("@veramo/core").IAgentContext<import("@veramo/core").IKeyManager>) => Promise<any>>;
        createVerifiableCredentialLDLocal: import("@veramo/core").RemoveContext<(args: import("@sphereon/ssi-sdk-vc-handler-ld-local/dist/types/types").ICreateVerifiableCredentialLDArgs, context: import("@sphereon/ssi-sdk-vc-handler-ld-local").IRequiredContext) => Promise<import("@sphereon/ssi-sdk-core").VerifiableCredentialSP>>;
        createVerifiablePresentationLDLocal: import("@veramo/core").RemoveContext<(args: import("@sphereon/ssi-sdk-vc-handler-ld-local/dist/types/types").ICreateVerifiablePresentationLDArgs, context: import("@sphereon/ssi-sdk-vc-handler-ld-local").IRequiredContext) => Promise<import("@sphereon/ssi-sdk-core").VerifiablePresentationSP>>;
        verifyCredentialLDLocal: import("@veramo/core").RemoveContext<(args: import("@sphereon/ssi-sdk-vc-handler-ld-local/dist/types/types").IVerifyCredentialLDArgs, context: import("@sphereon/ssi-sdk-vc-handler-ld-local").IRequiredContext) => Promise<boolean>>;
        verifyPresentationLDLocal: import("@veramo/core").RemoveContext<(args: import("@sphereon/ssi-sdk-vc-handler-ld-local/dist/types/types").IVerifyPresentationLDArgs, context: import("@sphereon/ssi-sdk-vc-handler-ld-local").IRequiredContext) => Promise<boolean>>;
        createVerifiablePresentation: import("@veramo/core").RemoveContext<(args: import("@veramo/core").ICreateVerifiablePresentationArgs, context: import("@veramo/core").IssuerAgentContext) => Promise<import("@veramo/core").VerifiablePresentation>>;
        createVerifiableCredential: import("@veramo/core").RemoveContext<(args: import("@veramo/core").ICreateVerifiableCredentialArgs, context: import("@veramo/core").IssuerAgentContext) => Promise<import("@veramo/core").VerifiableCredential>>;
        submitComplianceCredential: import("@veramo/core").RemoveContext<(args: import("../types").IAcquireComplianceCredentialArgs, context: import("../types").GXRequiredContext) => Promise<import("@veramo/core").VerifiableCredential>>;
        acquireComplianceCredentialFromExistingParticipant: import("@veramo/core").RemoveContext<(args: import("../types").IAcquireComplianceCredentialFromExistingParticipantArgs, context: import("../types").GXRequiredContext) => Promise<import("../types").VerifiableCredentialResponse>>;
        acquireComplianceCredentialFromUnsignedParticipant: import("@veramo/core").RemoveContext<(args: import("../types").IAcquireComplianceCredentialFromUnsignedParticipantArgs, context: import("../types").GXRequiredContext) => Promise<import("../types").VerifiableCredentialResponse>>;
        submitServiceOffering: import("@veramo/core").RemoveContext<(args: import("../types").IAddServiceOfferingArgs, context: import("../types").GXRequiredContext) => Promise<import("../types").IGaiaxOnboardingResult>>;
        createAndSubmitServiceOffering: import("@veramo/core").RemoveContext<(args: import("../types").IAddServiceOfferingUnsignedArgs, context: import("../types").GXRequiredContext) => Promise<import("../types").IGaiaxOnboardingResult>>;
        createDIDFromX509: import("@veramo/core").RemoveContext<(args: import("../types").IImportDIDArg, context: import("../types").GXRequiredContext) => Promise<import("@veramo/core").IIdentifier>>;
        exportDIDDocument: import("@veramo/core").RemoveContext<({ domain, services }: {
            domain: string;
            services?: import("@veramo/core").IService[] | undefined;
        }, context: import("../types").GXRequiredContext) => Promise<import("did-resolver").DIDDocument>>;
        exportDIDToPath: import("@veramo/core").RemoveContext<({ domain, services, path }: {
            domain: string;
            path?: string | undefined;
            services?: import("@veramo/core").IService[] | undefined;
        }, context: import("../types").GXRequiredContext) => Promise<import("../types").ExportFileResult[]>>;
        issueVerifiableCredential: import("@veramo/core").RemoveContext<(args: import("../types").IIssueVerifiableCredentialArgs, context: import("../types").GXRequiredContext) => Promise<import("@veramo/core").UniqueVerifiableCredential>>;
        issueVerifiablePresentation: import("@veramo/core").RemoveContext<(args: import("../types").IIssueVerifiablePresentationArgs, context: import("../types").GXRequiredContext) => Promise<import("@veramo/core").UniqueVerifiablePresentation>>;
        checkVerifiableCredential: import("@veramo/core").RemoveContext<(args: import("../types").ICheckVerifiableCredentialArgs, context: import("../types").GXRequiredContext) => Promise<boolean>>;
        checkVerifiablePresentation: import("@veramo/core").RemoveContext<(args: import("../types").ICheckVerifiablePresentationArgs, context: import("../types").GXRequiredContext) => Promise<boolean>>;
        onboardParticipantWithCredential: import("@veramo/core").RemoveContext<(args: import("../types").IOnboardParticipantWithCredentialArgs, context: import("../types").GXRequiredContext) => Promise<import("@veramo/core").VerifiableCredential>>;
        onboardParticipantWithCredentialIds: import("@veramo/core").RemoveContext<(args: import("../types").IOnboardParticipantWithCredentialIdsArgs, context: import("../types").GXRequiredContext) => Promise<import("@veramo/core").VerifiableCredential>>;
        verifySelfDescription: import("@veramo/core").RemoveContext<(args: import("../types").IVerifySelfDescribedCredential, context: import("../types").GXRequiredContext) => Promise<import("../types").CredentialValidationResult>>;
        dataStoreSaveMessage: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDataStoreSaveMessageArgs) => Promise<string>>;
        dataStoreGetMessage: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDataStoreGetMessageArgs) => Promise<import("@veramo/core").IMessage>>;
        dataStoreSaveVerifiableCredential: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDataStoreSaveVerifiableCredentialArgs) => Promise<string>>;
        dataStoreDeleteVerifiableCredential: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDataStoreDeleteVerifiableCredentialArgs) => Promise<boolean>>;
        dataStoreGetVerifiableCredential: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDataStoreGetVerifiableCredentialArgs) => Promise<import("@veramo/core").VerifiableCredential>>;
        dataStoreSaveVerifiablePresentation: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDataStoreSaveVerifiablePresentationArgs) => Promise<string>>;
        dataStoreGetVerifiablePresentation: import("@veramo/core").RemoveContext<(args: import("@veramo/core").IDataStoreGetVerifiablePresentationArgs) => Promise<import("@veramo/core").VerifiablePresentation>>;
        dataStoreORMGetIdentifiers: import("@veramo/core").RemoveContext<(args: import("@veramo/core").FindIdentifiersArgs, context: import("@veramo/core").AuthorizedDIDContext) => Promise<Partial<import("@veramo/core").IIdentifier>[]>>;
        dataStoreORMGetIdentifiersCount: import("@veramo/core").RemoveContext<(args: import("@veramo/core").FindIdentifiersArgs, context: import("@veramo/core").AuthorizedDIDContext) => Promise<number>>;
        dataStoreORMGetMessages: import("@veramo/core").RemoveContext<(args: import("@veramo/core").FindMessagesArgs, context: import("@veramo/core").AuthorizedDIDContext) => Promise<import("@veramo/core").IMessage[]>>;
        dataStoreORMGetMessagesCount: import("@veramo/core").RemoveContext<(args: import("@veramo/core").FindMessagesArgs, context: import("@veramo/core").AuthorizedDIDContext) => Promise<number>>;
        dataStoreORMGetVerifiableCredentialsByClaims: import("@veramo/core").RemoveContext<(args: import("@veramo/core").FindClaimsArgs, context: import("@veramo/core").AuthorizedDIDContext) => Promise<import("@veramo/core").UniqueVerifiableCredential[]>>;
        dataStoreORMGetVerifiableCredentialsByClaimsCount: import("@veramo/core").RemoveContext<(args: import("@veramo/core").FindClaimsArgs, context: import("@veramo/core").AuthorizedDIDContext) => Promise<number>>;
        dataStoreORMGetVerifiableCredentials: import("@veramo/core").RemoveContext<(args: import("@veramo/core").FindCredentialsArgs, context: import("@veramo/core").AuthorizedDIDContext) => Promise<import("@veramo/core").UniqueVerifiableCredential[]>>;
        dataStoreORMGetVerifiableCredentialsCount: import("@veramo/core").RemoveContext<(args: import("@veramo/core").FindCredentialsArgs, context: import("@veramo/core").AuthorizedDIDContext) => Promise<number>>;
        dataStoreORMGetVerifiablePresentations: import("@veramo/core").RemoveContext<(args: import("@veramo/core").FindPresentationsArgs, context: import("@veramo/core").AuthorizedDIDContext) => Promise<import("@veramo/core").UniqueVerifiablePresentation[]>>;
        dataStoreORMGetVerifiablePresentationsCount: import("@veramo/core").RemoveContext<(args: import("@veramo/core").FindPresentationsArgs, context: import("@veramo/core").AuthorizedDIDContext) => Promise<number>>;
    } & import("@veramo/core").IAgent & {
        context?: Record<string, any> | undefined;
    };
    kms: BlsKeyManagementSystem;
    dbConnection: Promise<DataSource>;
    resolver: Resolver;
}>;
export declare function createDatabase(dbConnection: Promise<DataSource>): Promise<void>;
export declare function dropDatabase(dbConnection: Promise<DataSource>, databaseFile: string): Promise<void>;
//# sourceMappingURL=setup.d.ts.map