/**
* API Service for acui
*
* This file demonstrates how to integrate the acapiClient into the acui project.
*/
export declare const apiClient: any;
export declare const setupAuthentication: (token: string) => void;
export declare const initializeAuth: () => void;
export declare const logout: () => void;
export interface User {
    id: string;
    username: string;
    email: string;
    firstName: string;
    lastName: string;
    role: string;
    avatar?: string;
}
export interface UserSettings {
    theme: "light" | "dark" | "system";
    notifications: boolean;
    language: string;
}
export declare const userApi: {
    /**
    * Get the current user's profile
    */
    getProfile: () => Promise<User>;
    /**
    * Update the current user's profile
    */
    updateProfile: (data: Partial<User>) => Promise<User>;
    /**
    * Get the current user's settings
    */
    getSettings: () => Promise<UserSettings>;
    /**
    * Update the current user's settings
    */
    updateSettings: (data: Partial<UserSettings>) => Promise<UserSettings>;
};
export interface Article {
    id: string;
    title: string;
    content: string;
    author: string;
    createdAt: string;
    updatedAt: string;
    tags: string[];
    published: boolean;
}
export interface PaginatedResponse<T> {
    items: T[];
    total: number;
    page: number;
    limit: number;
}
export declare const contentApi: {
    /**
    * Get a list of articles
    */
    getArticles: (page?: number, limit?: number) => Promise<PaginatedResponse<Article>>;
    /**
    * Get a single article by ID
    */
    getArticle: (id: string) => Promise<Article>;
    /**
    * Create a new article
    */
    createArticle: (data: Omit<Article, "id" | "createdAt" | "updatedAt">) => Promise<Article>;
    /**
    * Update an existing article
    */
    updateArticle: (id: string, data: Partial<Article>) => Promise<Article>;
    /**
    * Delete an article
    */
    deleteArticle: (id: string) => Promise<void>;
};
export interface UploadResult {
    id: string;
    filename: string;
    size: number;
    status: 'uploaded' | 'processing' | 'completed' | 'failed';
    uploadedAt: string;
}
export interface Analysis {
    id: string;
    documentName: string;
    timestamp: string;
    status: 'pending' | 'processing' | 'completed' | 'failed';
    summary: string;
    categories: string[];
    keyRequirements: string[];
    riskAreas: string[];
    competitiveAdvantages: string[];
    recommendedApproach: string;
}
export interface GeneratedResponse {
    id: string;
    status: 'pending' | 'generating' | 'completed' | 'failed';
    sections: {
        executiveSummary: string;
        technicalApproach: string;
        pastPerformance: string;
        teamQualifications: string;
        pricing: string;
    };
    metadata: {
        wordCount: number;
        pageCount: number;
        generatedAt: string;
    };
}
export interface AgentDetails {
    id: string;
    name: string;
    model: string;
    tools: any[];
    created: string;
    status: 'online' | 'offline' | 'busy';
}
export declare const rfpApi: {
    /**
     * Upload an RFP document for analysis
     */
    uploadDocument: (file: File) => Promise<UploadResult>;
    /**
     * Get all RFP analyses
     */
    getAnalyses: () => Promise<Analysis[]>;
    /**
     * Get a specific analysis by ID
     */
    getAnalysisById: (id: string) => Promise<Analysis>;
    /**
     * Generate RFP response based on analysis
     */
    generateRFPResponse: (analysisId: string) => Promise<GeneratedResponse>;
};
export declare const agentApi: {
    /**
     * Get agent details by ID
     */
    getAgentDetails: (agentId: string) => Promise<AgentDetails>;
    /**
     * Get all agents
     */
    getAgents: () => Promise<AgentDetails[]>;
};
export declare const enhancedApiClient: any;
export default enhancedApiClient;
//# sourceMappingURL=api.d.ts.map