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 CompletenessDataSchema: z.ZodObject<{ completenessScore: z.ZodNumber; badgeTier: z.ZodEnum<["STARTER", "BASIC", "ACTIVE", "VERIFIED"]>; sections: z.ZodRecord; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>>; nextActions: z.ZodArray; }, "strip", z.ZodTypeAny, { completenessScore: number; badgeTier: "STARTER" | "BASIC" | "ACTIVE" | "VERIFIED"; sections: Record; nextActions: string[]; }, { completenessScore: number; badgeTier: "STARTER" | "BASIC" | "ACTIVE" | "VERIFIED"; sections: Record; nextActions: string[]; }>; export type CompletenessData = z.infer; export interface SectionConfig { key: string; label: string; icon: string; path?: string; weight: number; } export declare const CompletenessCardPropsSchema: z.ZodObject<{ /** Completeness data from API */ data: z.ZodObject<{ completenessScore: z.ZodNumber; badgeTier: z.ZodEnum<["STARTER", "BASIC", "ACTIVE", "VERIFIED"]>; sections: z.ZodRecord; percentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { complete: boolean; percentage: number; missing: string[]; }, { complete: boolean; percentage: number; missing: string[]; }>>; nextActions: z.ZodArray; }, "strip", z.ZodTypeAny, { completenessScore: number; badgeTier: "STARTER" | "BASIC" | "ACTIVE" | "VERIFIED"; sections: Record; nextActions: string[]; }, { completenessScore: number; badgeTier: "STARTER" | "BASIC" | "ACTIVE" | "VERIFIED"; sections: Record; nextActions: string[]; }>; /** Section configuration (defines which sections to show and how) */ sectionConfig: z.ZodArray; weight: z.ZodNumber; }, "strip", z.ZodTypeAny, { label: string; key: string; weight: number; icon: string; path?: string | undefined; }, { label: string; key: string; weight: number; icon: string; path?: string | undefined; }>, "many">; /** Title for the card */ title: z.ZodOptional; /** 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 */ onComplete: 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: Record; nextActions: string[]; }; sectionConfig: { label: string; key: string; weight: number; icon: string; path?: string | undefined; }[]; title?: string | undefined; compact?: boolean | undefined; isLoading?: boolean | undefined; onComplete?: ((...args: unknown[]) => unknown) | undefined; showSections?: boolean | undefined; showNextActions?: boolean | undefined; onCompleteSection?: ((args_0: string) => void) | undefined; onCompactChange?: ((args_0: boolean) => void) | undefined; }, { data: { completenessScore: number; badgeTier: "STARTER" | "BASIC" | "ACTIVE" | "VERIFIED"; sections: Record; nextActions: string[]; }; sectionConfig: { label: string; key: string; weight: number; icon: string; path?: string | undefined; }[]; title?: string | undefined; compact?: boolean | undefined; isLoading?: boolean | undefined; onComplete?: ((...args: unknown[]) => unknown) | undefined; showSections?: boolean | undefined; showNextActions?: boolean | undefined; onCompleteSection?: ((args_0: string) => void) | undefined; onCompactChange?: ((args_0: boolean) => void) | undefined; }>; export type CompletenessCardProps = z.infer; export declare const PROFILE_SECTION_WEIGHTS: { readonly profile: 25; readonly medium: 25; readonly contact: 15; readonly address: 25; readonly avatar: 10; }; export declare const PROFILE_SECTION_CONFIG: SectionConfig[]; export declare const TERREIRO_SECTION_WEIGHTS: { readonly avatar: 35; readonly contact: 30; readonly address: 35; }; export declare const TERREIRO_SECTION_CONFIG: SectionConfig[];