import { ModelRelatedNodesI, NeogmaInstance } from 'neogma';
import { Credential, CredentialInstance } from './Credential';
import { Presentation, PresentationInstance } from './Presentation';
import { SigningAuthority } from './SigningAuthority';
import { ContactMethod, ContactMethodInstance } from './ContactMethod';
import { FlatProfileType } from '../types/profile';
import { SigningAuthorityInstance } from './SigningAuthority';
export declare enum ProfileVisibilityEnum {
    public = "public",
    connections_only = "connections_only",
    private = "private"
}
export declare enum AllowConnectionRequestsEnum {
    anyone = "anyone",
    invite_only = "invite_only"
}
type CredentialRelationshipProps = {
    to: string;
    date: string;
    metadata?: Record<string, unknown>;
    activityId?: string;
    integrationId?: string;
    status?: 'revoked' | 'suspended';
    revokedAt?: string;
    suspendedAt?: string;
    unsuspendedAt?: string;
} & Record<string, unknown>;
export type ProfileRelationships = {
    connectionRequested: ModelRelatedNodesI<typeof Profile, ProfileInstance>;
    connectedWith: ModelRelatedNodesI<typeof Profile, ProfileInstance, {
        sources?: string[];
    }, {
        sources?: string[];
    }>;
    blocked: ModelRelatedNodesI<typeof Profile, ProfileInstance>;
    managedBy: ModelRelatedNodesI<typeof Profile, ProfileInstance>;
    credentialSent: ModelRelatedNodesI<typeof Credential, CredentialInstance, CredentialRelationshipProps, CredentialRelationshipProps>;
    presentationSent: ModelRelatedNodesI<typeof Presentation, PresentationInstance, {
        to: string;
        date: string;
    }, {
        to: string;
        date: string;
    }>;
    usesSigningAuthority: ModelRelatedNodesI<typeof SigningAuthority, SigningAuthorityInstance, {
        name: string;
        did: string;
        isPrimary?: boolean;
    }, {
        name: string;
        did: string;
        isPrimary?: boolean;
    }>;
    hasContactMethod: ModelRelatedNodesI<typeof ContactMethod, ContactMethodInstance>;
    installs: ModelRelatedNodesI<any, any, {
        listing_id: string;
        installed_at: string;
    }, {
        listing_id: string;
        installed_at: string;
    }>;
};
export type ProfileInstance = NeogmaInstance<FlatProfileType, ProfileRelationships>;
export declare const Profile: any;
export default Profile;
//# sourceMappingURL=Profile.d.ts.map