import { z } from 'zod';
import { LCNProfile, LCNSigningAuthorityType, LCNSigningAuthorityForUserType } from '@learncard/types';
export declare const ProfileValidator: z.ZodObject<{
    profileId: z.ZodString;
    displayName: z.ZodDefault<z.ZodString>;
    shortBio: z.ZodDefault<z.ZodString>;
    bio: z.ZodDefault<z.ZodString>;
    did: z.ZodString;
    isPrivate: z.ZodOptional<z.ZodBoolean>;
    profileVisibility: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
        public: "public";
        connections_only: "connections_only";
        private: "private";
    }>>>;
    showEmail: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    allowConnectionRequests: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
        anyone: "anyone";
        invite_only: "invite_only";
    }>>>;
    email: z.ZodOptional<z.ZodString>;
    image: z.ZodOptional<z.ZodString>;
    heroImage: z.ZodOptional<z.ZodString>;
    websiteLink: z.ZodOptional<z.ZodString>;
    isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    type: z.ZodOptional<z.ZodString>;
    notificationsWebhook: z.ZodOptional<z.ZodString>;
    display: z.ZodOptional<z.ZodObject<{
        backgroundColor: z.ZodOptional<z.ZodString>;
        backgroundImage: z.ZodOptional<z.ZodString>;
        fadeBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        repeatBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        fontColor: z.ZodOptional<z.ZodString>;
        accentColor: z.ZodOptional<z.ZodString>;
        accentFontColor: z.ZodOptional<z.ZodString>;
        idBackgroundImage: z.ZodOptional<z.ZodString>;
        fadeIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        idBackgroundColor: z.ZodOptional<z.ZodString>;
        repeatIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    highlightedCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
    role: z.ZodOptional<z.ZodDefault<z.ZodString>>;
    dob: z.ZodOptional<z.ZodDefault<z.ZodString>>;
    country: z.ZodOptional<z.ZodString>;
    approved: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export type ProfileType = LCNProfile;
export declare const PublicProfileValidator: z.ZodObject<{
    type: z.ZodOptional<z.ZodString>;
    image: z.ZodOptional<z.ZodString>;
    profileId: z.ZodString;
    displayName: z.ZodDefault<z.ZodString>;
    shortBio: z.ZodDefault<z.ZodString>;
    heroImage: z.ZodOptional<z.ZodString>;
    isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    display: z.ZodOptional<z.ZodObject<{
        backgroundColor: z.ZodOptional<z.ZodString>;
        backgroundImage: z.ZodOptional<z.ZodString>;
        fadeBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        repeatBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        fontColor: z.ZodOptional<z.ZodString>;
        accentColor: z.ZodOptional<z.ZodString>;
        accentFontColor: z.ZodOptional<z.ZodString>;
        idBackgroundImage: z.ZodOptional<z.ZodString>;
        fadeIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        idBackgroundColor: z.ZodOptional<z.ZodString>;
        repeatIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const AuthedProfileValidator: z.ZodObject<{
    type: z.ZodOptional<z.ZodString>;
    image: z.ZodOptional<z.ZodString>;
    profileId: z.ZodString;
    displayName: z.ZodDefault<z.ZodString>;
    shortBio: z.ZodDefault<z.ZodString>;
    heroImage: z.ZodOptional<z.ZodString>;
    isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    display: z.ZodOptional<z.ZodObject<{
        backgroundColor: z.ZodOptional<z.ZodString>;
        backgroundImage: z.ZodOptional<z.ZodString>;
        fadeBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        repeatBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        fontColor: z.ZodOptional<z.ZodString>;
        accentColor: z.ZodOptional<z.ZodString>;
        accentFontColor: z.ZodOptional<z.ZodString>;
        idBackgroundImage: z.ZodOptional<z.ZodString>;
        fadeIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        idBackgroundColor: z.ZodOptional<z.ZodString>;
        repeatIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    bio: z.ZodDefault<z.ZodString>;
    websiteLink: z.ZodOptional<z.ZodString>;
    role: z.ZodOptional<z.ZodDefault<z.ZodString>>;
    highlightedCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
    did: z.ZodString;
}, z.core.$strip>;
export declare const ConnectionProfileValidator: z.ZodObject<{
    type: z.ZodOptional<z.ZodString>;
    image: z.ZodOptional<z.ZodString>;
    profileId: z.ZodString;
    displayName: z.ZodDefault<z.ZodString>;
    shortBio: z.ZodDefault<z.ZodString>;
    heroImage: z.ZodOptional<z.ZodString>;
    isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    display: z.ZodOptional<z.ZodObject<{
        backgroundColor: z.ZodOptional<z.ZodString>;
        backgroundImage: z.ZodOptional<z.ZodString>;
        fadeBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        repeatBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        fontColor: z.ZodOptional<z.ZodString>;
        accentColor: z.ZodOptional<z.ZodString>;
        accentFontColor: z.ZodOptional<z.ZodString>;
        idBackgroundImage: z.ZodOptional<z.ZodString>;
        fadeIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        idBackgroundColor: z.ZodOptional<z.ZodString>;
        repeatIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    bio: z.ZodDefault<z.ZodString>;
    websiteLink: z.ZodOptional<z.ZodString>;
    role: z.ZodOptional<z.ZodDefault<z.ZodString>>;
    highlightedCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
    did: z.ZodString;
    email: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const VisibleProfileValidator: z.ZodUnion<readonly [z.ZodObject<{
    type: z.ZodOptional<z.ZodString>;
    image: z.ZodOptional<z.ZodString>;
    profileId: z.ZodString;
    displayName: z.ZodDefault<z.ZodString>;
    shortBio: z.ZodDefault<z.ZodString>;
    heroImage: z.ZodOptional<z.ZodString>;
    isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    display: z.ZodOptional<z.ZodObject<{
        backgroundColor: z.ZodOptional<z.ZodString>;
        backgroundImage: z.ZodOptional<z.ZodString>;
        fadeBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        repeatBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        fontColor: z.ZodOptional<z.ZodString>;
        accentColor: z.ZodOptional<z.ZodString>;
        accentFontColor: z.ZodOptional<z.ZodString>;
        idBackgroundImage: z.ZodOptional<z.ZodString>;
        fadeIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        idBackgroundColor: z.ZodOptional<z.ZodString>;
        repeatIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    bio: z.ZodDefault<z.ZodString>;
    websiteLink: z.ZodOptional<z.ZodString>;
    role: z.ZodOptional<z.ZodDefault<z.ZodString>>;
    highlightedCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
    did: z.ZodString;
    email: z.ZodOptional<z.ZodString>;
}, z.core.$strict>, z.ZodObject<{
    type: z.ZodOptional<z.ZodString>;
    image: z.ZodOptional<z.ZodString>;
    profileId: z.ZodString;
    displayName: z.ZodDefault<z.ZodString>;
    shortBio: z.ZodDefault<z.ZodString>;
    heroImage: z.ZodOptional<z.ZodString>;
    isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    display: z.ZodOptional<z.ZodObject<{
        backgroundColor: z.ZodOptional<z.ZodString>;
        backgroundImage: z.ZodOptional<z.ZodString>;
        fadeBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        repeatBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        fontColor: z.ZodOptional<z.ZodString>;
        accentColor: z.ZodOptional<z.ZodString>;
        accentFontColor: z.ZodOptional<z.ZodString>;
        idBackgroundImage: z.ZodOptional<z.ZodString>;
        fadeIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        idBackgroundColor: z.ZodOptional<z.ZodString>;
        repeatIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    bio: z.ZodDefault<z.ZodString>;
    websiteLink: z.ZodOptional<z.ZodString>;
    role: z.ZodOptional<z.ZodDefault<z.ZodString>>;
    highlightedCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
    did: z.ZodString;
}, z.core.$strict>, z.ZodObject<{
    type: z.ZodOptional<z.ZodString>;
    image: z.ZodOptional<z.ZodString>;
    profileId: z.ZodString;
    displayName: z.ZodDefault<z.ZodString>;
    shortBio: z.ZodDefault<z.ZodString>;
    heroImage: z.ZodOptional<z.ZodString>;
    isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    display: z.ZodOptional<z.ZodObject<{
        backgroundColor: z.ZodOptional<z.ZodString>;
        backgroundImage: z.ZodOptional<z.ZodString>;
        fadeBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        repeatBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        fontColor: z.ZodOptional<z.ZodString>;
        accentColor: z.ZodOptional<z.ZodString>;
        accentFontColor: z.ZodOptional<z.ZodString>;
        idBackgroundImage: z.ZodOptional<z.ZodString>;
        fadeIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        idBackgroundColor: z.ZodOptional<z.ZodString>;
        repeatIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
}, z.core.$strict>, z.ZodObject<{
    profileId: z.ZodString;
    displayName: z.ZodDefault<z.ZodString>;
    shortBio: z.ZodDefault<z.ZodString>;
    bio: z.ZodDefault<z.ZodString>;
    did: z.ZodString;
    isPrivate: z.ZodOptional<z.ZodBoolean>;
    profileVisibility: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
        public: "public";
        connections_only: "connections_only";
        private: "private";
    }>>>;
    showEmail: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    allowConnectionRequests: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
        anyone: "anyone";
        invite_only: "invite_only";
    }>>>;
    email: z.ZodOptional<z.ZodString>;
    image: z.ZodOptional<z.ZodString>;
    heroImage: z.ZodOptional<z.ZodString>;
    websiteLink: z.ZodOptional<z.ZodString>;
    isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    type: z.ZodOptional<z.ZodString>;
    notificationsWebhook: z.ZodOptional<z.ZodString>;
    display: z.ZodOptional<z.ZodObject<{
        backgroundColor: z.ZodOptional<z.ZodString>;
        backgroundImage: z.ZodOptional<z.ZodString>;
        fadeBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        repeatBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        fontColor: z.ZodOptional<z.ZodString>;
        accentColor: z.ZodOptional<z.ZodString>;
        accentFontColor: z.ZodOptional<z.ZodString>;
        idBackgroundImage: z.ZodOptional<z.ZodString>;
        fadeIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
        idBackgroundColor: z.ZodOptional<z.ZodString>;
        repeatIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    highlightedCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
    role: z.ZodOptional<z.ZodDefault<z.ZodString>>;
    dob: z.ZodOptional<z.ZodDefault<z.ZodString>>;
    country: z.ZodOptional<z.ZodString>;
    approved: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>]>;
export declare const ProfileVisibilityValidator: z.ZodEnum<{
    public: "public";
    connections_only: "connections_only";
    private: "private";
}>;
export declare const AllowConnectionRequestsValidator: z.ZodEnum<{
    anyone: "anyone";
    invite_only: "invite_only";
}>;
export declare const FlatProfileValidator: z.ZodObject<{
    image: z.ZodOptional<z.ZodString>;
    profileId: z.ZodString;
    displayName: z.ZodDefault<z.ZodString>;
    shortBio: z.ZodDefault<z.ZodString>;
    bio: z.ZodDefault<z.ZodString>;
    did: z.ZodString;
    isPrivate: z.ZodOptional<z.ZodBoolean>;
    profileVisibility: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
        public: "public";
        connections_only: "connections_only";
        private: "private";
    }>>>;
    showEmail: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    allowConnectionRequests: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
        anyone: "anyone";
        invite_only: "invite_only";
    }>>>;
    email: z.ZodOptional<z.ZodString>;
    heroImage: z.ZodOptional<z.ZodString>;
    websiteLink: z.ZodOptional<z.ZodString>;
    isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    type: z.ZodOptional<z.ZodString>;
    notificationsWebhook: z.ZodOptional<z.ZodString>;
    highlightedCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
    role: z.ZodOptional<z.ZodDefault<z.ZodString>>;
    dob: z.ZodOptional<z.ZodDefault<z.ZodString>>;
    country: z.ZodOptional<z.ZodString>;
    approved: z.ZodOptional<z.ZodBoolean>;
}, z.core.$catchall<z.ZodAny>>;
export type FlatProfileType = z.infer<typeof FlatProfileValidator>;
export declare const SigningAuthorityValidator: z.ZodObject<{
    endpoint: z.ZodString;
}, z.core.$strip>;
export type SigningAuthorityType = LCNSigningAuthorityType;
export declare const SigningAuthorityForUserValidator: z.ZodObject<{
    signingAuthority: z.ZodObject<{
        endpoint: z.ZodString;
    }, z.core.$strip>;
    relationship: z.ZodObject<{
        name: z.ZodString;
        did: z.ZodString;
        isPrimary: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type SigningAuthorityForUserType = LCNSigningAuthorityForUserType;
export declare enum LearnCardRolesEnum {
    learner = "learner",
    guardian = "guardian",
    teacher = "teacher",
    admin = "admin",
    counselor = "counselor"
}
//# sourceMappingURL=profile.d.ts.map