export interface SimplifiedDimension {
    dimension: string;
    dominant_pole: string;
    confidence_percentage: number;
    score: number;
}
export interface CommunicationRecommendation {
    context: string;
    priority: 'high' | 'medium' | 'low';
    recommendation: string;
}
export interface SavedProfile {
    _id: string;
    userId: string;
    name: string;
    jobTitle: string;
    company: string;
    linkedInUrl: string;
    dimensions: SimplifiedDimension[];
    personalitySummary: string;
    professionalContext?: string;
    keyTraits?: string[];
    communicationPreferences?: string;
    communicationRecommendations?: CommunicationRecommendation[];
    operatingStyle?: string;
    dominantTraitOverview?: string;
    notes: string;
    context?: string;
    isDeleted: boolean;
    createdAt: string;
    updatedAt: string;
    industry?: string;
    location?: string;
    education?: string[];
    profileUrl?: string;
    profileImageUrl?: string;
    llmOptimizedProfile?: string;
}
export interface UserProfile {
    _id: string;
    name: string;
    email: string;
    results: DimensionResult[];
    subscriptionStatus?: string;
    subscriptionPlan?: string;
    createdAt: string;
    updatedAt: string;
}
export interface DimensionResult {
    dimensionId: 'expression' | 'reasoning' | 'flexibility' | 'work_style' | 'tempo';
    score: number;
    dominantPole: string;
}
export interface ApiResponse<T> {
    data?: T;
    error?: string;
    message?: string;
}
export interface AuthResponse {
    profile: UserProfile;
}
export interface ApiError {
    code: string;
    message: string;
    details?: any;
}
export interface ProfileListResponse {
    profiles: SavedProfile[];
    total: number;
    limit: number;
    offset: number;
}
export interface ProfileSearchResponse {
    profiles: SavedProfile[];
    query: string;
    total: number;
}
export interface CommunicationTipsResponse {
    profileId: string;
    name: string;
    tips: CommunicationRecommendation[];
    scenario?: string;
}
export interface LinkedInSearchResult {
    url: string;
    title: string;
    snippet: string;
}
export interface SearchLinkedInResponse {
    success: boolean;
    message: string;
    resultCount: number;
    results?: LinkedInSearchResult[];
    result?: LinkedInSearchResult;
    topResults?: LinkedInSearchResult[];
    suggestion?: string;
    action?: string;
}
export interface AnalyzeLinkedInRequest {
    linkedInUrl: string;
    save?: boolean;
    update?: boolean;
    notes?: string;
}
export interface AnalyzeLinkedInResponse {
    success: boolean;
    exists?: boolean;
    existingProfile?: {
        id: string;
        name: string;
        jobTitle: string;
        company: string;
        analyzedAt: string;
    };
    profile?: {
        id?: string;
        name: string;
        jobTitle: string;
        company: string;
        linkedInUrl: string;
        industry?: string;
        location?: string;
        profileImageUrl?: string;
        dimensions: SimplifiedDimension[];
        personalitySummary: string;
        keyTraits: string[];
        operatingStyle: string;
        communicationPreferences: string;
        communicationRecommendations: CommunicationRecommendation[];
    };
    saved?: boolean;
    message: string;
    rateLimitInfo?: {
        used: number;
        limit: number;
        remaining: number;
    };
}
//# sourceMappingURL=types.d.ts.map