import * as z from "zod"; export declare const SectionCompletenessSchema: z.ZodObject<{ complete: z.ZodBoolean; missing: z.ZodArray; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>; export type SectionCompleteness = z.infer; export declare const ProfileCompletenessDataSchema: z.ZodObject<{ completenessScore: z.ZodNumber; badgeTier: z.ZodEnum<["STARTER", "BASIC", "ACTIVE", "VERIFIED"]>; sections: z.ZodObject<{ profile: z.ZodObject<{ complete: z.ZodBoolean; missing: z.ZodArray; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>; medium: z.ZodObject<{ complete: z.ZodBoolean; missing: z.ZodArray; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>; contact: z.ZodObject<{ complete: z.ZodBoolean; missing: z.ZodArray; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>; address: z.ZodObject<{ complete: z.ZodBoolean; missing: z.ZodArray; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>; avatar: z.ZodObject<{ complete: z.ZodBoolean; missing: z.ZodArray; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>; }, "strip", z.ZodTypeAny, { address: { complete: boolean; percentage: number; missing: string[]; }; medium: { complete: boolean; percentage: number; missing: string[]; }; avatar: { complete: boolean; percentage: number; missing: string[]; }; profile: { complete: boolean; percentage: number; missing: string[]; }; contact: { complete: boolean; percentage: number; missing: string[]; }; }, { address: { complete: boolean; percentage: number; missing: string[]; }; medium: { complete: boolean; percentage: number; missing: string[]; }; avatar: { complete: boolean; percentage: number; missing: string[]; }; profile: { complete: boolean; percentage: number; missing: string[]; }; contact: { complete: boolean; percentage: number; missing: string[]; }; }>; nextActions: z.ZodArray; }, "strip", z.ZodTypeAny, { completenessScore: number; badgeTier: "STARTER" | "BASIC" | "ACTIVE" | "VERIFIED"; sections: { address: { complete: boolean; percentage: number; missing: string[]; }; medium: { complete: boolean; percentage: number; missing: string[]; }; avatar: { complete: boolean; percentage: number; missing: string[]; }; profile: { complete: boolean; percentage: number; missing: string[]; }; contact: { complete: boolean; percentage: number; missing: string[]; }; }; nextActions: string[]; }, { completenessScore: number; badgeTier: "STARTER" | "BASIC" | "ACTIVE" | "VERIFIED"; sections: { address: { complete: boolean; percentage: number; missing: string[]; }; medium: { complete: boolean; percentage: number; missing: string[]; }; avatar: { complete: boolean; percentage: number; missing: string[]; }; profile: { complete: boolean; percentage: number; missing: string[]; }; contact: { complete: boolean; percentage: number; missing: string[]; }; }; nextActions: string[]; }>; export type ProfileCompletenessData = z.infer; export declare const ProfileCompletenessCardPropsSchema: z.ZodObject<{ /** Completeness data from API */ data: z.ZodObject<{ completenessScore: z.ZodNumber; badgeTier: z.ZodEnum<["STARTER", "BASIC", "ACTIVE", "VERIFIED"]>; sections: z.ZodObject<{ profile: z.ZodObject<{ complete: z.ZodBoolean; missing: z.ZodArray; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>; medium: z.ZodObject<{ complete: z.ZodBoolean; missing: z.ZodArray; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>; contact: z.ZodObject<{ complete: z.ZodBoolean; missing: z.ZodArray; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>; address: z.ZodObject<{ complete: z.ZodBoolean; missing: z.ZodArray; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>; avatar: z.ZodObject<{ complete: z.ZodBoolean; missing: z.ZodArray; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>; }, "strip", z.ZodTypeAny, { address: { complete: boolean; percentage: number; missing: string[]; }; medium: { complete: boolean; percentage: number; missing: string[]; }; avatar: { complete: boolean; percentage: number; missing: string[]; }; profile: { complete: boolean; percentage: number; missing: string[]; }; contact: { complete: boolean; percentage: number; missing: string[]; }; }, { address: { complete: boolean; percentage: number; missing: string[]; }; medium: { complete: boolean; percentage: number; missing: string[]; }; avatar: { complete: boolean; percentage: number; missing: string[]; }; profile: { complete: boolean; percentage: number; missing: string[]; }; contact: { complete: boolean; percentage: number; missing: string[]; }; }>; nextActions: z.ZodArray; }, "strip", z.ZodTypeAny, { completenessScore: number; badgeTier: "STARTER" | "BASIC" | "ACTIVE" | "VERIFIED"; sections: { address: { complete: boolean; percentage: number; missing: string[]; }; medium: { complete: boolean; percentage: number; missing: string[]; }; avatar: { complete: boolean; percentage: number; missing: string[]; }; profile: { complete: boolean; percentage: number; missing: string[]; }; contact: { complete: boolean; percentage: number; missing: string[]; }; }; nextActions: string[]; }, { completenessScore: number; badgeTier: "STARTER" | "BASIC" | "ACTIVE" | "VERIFIED"; sections: { address: { complete: boolean; percentage: number; missing: string[]; }; medium: { complete: boolean; percentage: number; missing: string[]; }; avatar: { complete: boolean; percentage: number; missing: string[]; }; profile: { complete: boolean; percentage: number; missing: string[]; }; contact: { complete: boolean; percentage: number; missing: string[]; }; }; nextActions: string[]; }>; /** Show compact view (progress bar only) */ compact: z.ZodOptional; /** Show section details */ showSections: z.ZodOptional; /** Show next actions */ showNextActions: z.ZodOptional; /** Callback when user clicks to complete a section */ onCompleteSection: z.ZodOptional, z.ZodVoid>>; /** Callback when user clicks the main CTA */ onCompleteProfile: z.ZodOptional, z.ZodUnknown>>; /** Callback when compact state changes (for persisting to localStorage) */ onCompactChange: z.ZodOptional, z.ZodVoid>>; /** Loading state */ isLoading: z.ZodOptional; }, "strip", z.ZodTypeAny, { data: { completenessScore: number; badgeTier: "STARTER" | "BASIC" | "ACTIVE" | "VERIFIED"; sections: { address: { complete: boolean; percentage: number; missing: string[]; }; medium: { complete: boolean; percentage: number; missing: string[]; }; avatar: { complete: boolean; percentage: number; missing: string[]; }; profile: { complete: boolean; percentage: number; missing: string[]; }; contact: { complete: boolean; percentage: number; missing: string[]; }; }; nextActions: string[]; }; compact?: boolean | undefined; isLoading?: boolean | undefined; showSections?: boolean | undefined; showNextActions?: boolean | undefined; onCompleteSection?: ((args_0: string) => void) | undefined; onCompleteProfile?: ((...args: unknown[]) => unknown) | undefined; onCompactChange?: ((args_0: boolean) => void) | undefined; }, { data: { completenessScore: number; badgeTier: "STARTER" | "BASIC" | "ACTIVE" | "VERIFIED"; sections: { address: { complete: boolean; percentage: number; missing: string[]; }; medium: { complete: boolean; percentage: number; missing: string[]; }; avatar: { complete: boolean; percentage: number; missing: string[]; }; profile: { complete: boolean; percentage: number; missing: string[]; }; contact: { complete: boolean; percentage: number; missing: string[]; }; }; nextActions: string[]; }; compact?: boolean | undefined; isLoading?: boolean | undefined; showSections?: boolean | undefined; showNextActions?: boolean | undefined; onCompleteSection?: ((args_0: string) => void) | undefined; onCompleteProfile?: ((...args: unknown[]) => unknown) | undefined; onCompactChange?: ((args_0: boolean) => void) | undefined; }>; export type ProfileCompletenessCardProps = z.infer; export interface SectionConfig { key: keyof ProfileCompletenessData["sections"]; label: string; icon: string; path: string; weight: number; } export declare const SECTION_WEIGHTS: { readonly profile: 25; readonly medium: 25; readonly contact: 15; readonly address: 25; readonly avatar: 10; }; export declare const SECTION_CONFIG: SectionConfig[];