import { z } from "zod"; import { type AuthStrategy } from "../../EditorConfig"; declare const repositoryRole: z.ZodUnion<[z.ZodEnum<["SuperUser", "Owner", "Administrator", "Writer", "Manager", "Readonly"]>, z.ZodRecord>>]>; export declare const roleMap: { readonly SuperUser: "SuperUser"; readonly Owner: "Owner"; readonly Administrator: "Administrator"; readonly Manager: "Publisher"; readonly Writer: "Writer"; readonly Readonly: "Contributor"; }; export type Role = (typeof roleMap)[keyof typeof roleMap]; export type RepositoryRole = z.TypeOf; export declare const profileResponse: z.ZodObject<{ userId: z.ZodString; shortId: z.ZodString; intercomHash: z.ZodString; email: z.ZodString; firstName: z.ZodString; lastName: z.ZodString; superPower: z.ZodBoolean; repositories: z.ZodArray; role: z.ZodUnion<[z.ZodEnum<["SuperUser", "Owner", "Administrator", "Writer", "Manager", "Readonly"]>, z.ZodRecord>>]>; }, "strip", z.ZodTypeAny, { role: "SuperUser" | "Owner" | "Administrator" | "Manager" | "Writer" | "Readonly" | Record; domain: string; name?: string | undefined; }, { role: "SuperUser" | "Owner" | "Administrator" | "Manager" | "Writer" | "Readonly" | Record; domain: string; name?: string | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { email: string; userId: string; shortId: string; intercomHash: string; firstName: string; lastName: string; superPower: boolean; repositories: { role: "SuperUser" | "Owner" | "Administrator" | "Manager" | "Writer" | "Readonly" | Record; domain: string; name?: string | undefined; }[]; }, { email: string; userId: string; shortId: string; intercomHash: string; firstName: string; lastName: string; superPower: boolean; repositories: { role: "SuperUser" | "Owner" | "Administrator" | "Manager" | "Writer" | "Readonly" | Record; domain: string; name?: string | undefined; }[]; }>; export type Profile = z.infer; export declare function getProfile(userServiceBaseUrl: URL, authStrategy: AuthStrategy): Promise; export declare function useProfile(): { email: string; userId: string; shortId: string; intercomHash: string; firstName: string; lastName: string; superPower: boolean; repositories: { role: "SuperUser" | "Owner" | "Administrator" | "Manager" | "Writer" | "Readonly" | Record; domain: string; name?: string | undefined; }[]; }; export {};