import { ModelRelatedNodesI, NeogmaInstance } from 'neogma';
import { BoostPermissions } from '@learncard/types';
import { Profile, ProfileInstance } from './Profile';
import { FlatBoostType } from '../types/boost';
import { Role, RoleInstance } from './Role';
import { SkillFramework, SkillFrameworkInstance } from './SkillFramework';
import { Skill, SkillInstance } from './Skill';
export type BoostRelationships = {
    createdBy: ModelRelatedNodesI<typeof Profile, ProfileInstance, {
        date: string;
    }, {
        date: string;
    }>;
    parentOf: ModelRelatedNodesI<typeof Boost, BoostInstance>;
    autoConnectRecipient: ModelRelatedNodesI<typeof Profile, ProfileInstance>;
    hasRole: ModelRelatedNodesI<typeof Profile, ProfileInstance, Partial<BoostPermissions> & {
        roleId: string;
    }, Partial<BoostPermissions> & {
        roleId: string;
    }>;
    claimRole: ModelRelatedNodesI<typeof Role, RoleInstance>;
    defaultRole: ModelRelatedNodesI<typeof Role, RoleInstance>;
    usesFramework: ModelRelatedNodesI<typeof SkillFramework, SkillFrameworkInstance, {
        createdAt: string;
    }, {
        createdAt: string;
    }>;
    alignedTo: ModelRelatedNodesI<typeof Skill, SkillInstance, {
        proficiencyLevel?: number;
    }, {
        proficiencyLevel?: number;
    }>;
};
export type BoostInstance = NeogmaInstance<FlatBoostType, BoostRelationships>;
export declare const Boost: import("neogma").NeogmaModel<{
    [x: string]: any;
    id: string;
    boost: string;
    name?: string | undefined;
    status?: "DRAFT" | "PROVISIONAL" | "LIVE" | undefined;
    type?: string | undefined;
    category?: string | undefined;
    autoConnectRecipients?: boolean | undefined;
    defaultPermissions?: {
        role: string;
        canView: boolean;
        canEdit: boolean;
        canIssue: boolean;
        canRevoke: boolean;
        canManagePermissions: boolean;
        canIssueChildren: string;
        canCreateChildren: string;
        canEditChildren: string;
        canRevokeChildren: string;
        canManageChildrenPermissions: string;
        canViewAnalytics: boolean;
        canManageChildrenProfiles?: boolean | undefined;
    } | undefined;
    allowAnyoneToCreateChildren?: boolean | undefined;
}, BoostRelationships, Object, Object>;
export default Boost;
//# sourceMappingURL=Boost.d.ts.map