export interface StoredCredentials {
    clientId: string;
    clientSecret?: string;
    tenantId: string;
    redirectUri?: string;
    authType: 'device' | 'redirect';
}
export interface StoredTokens {
    accessToken: string;
    refreshToken?: string;
    expiresOn: number;
    account: any;
    authType: 'device' | 'redirect';
    userId?: string;
}
/**
 * Secure credential storage utility for Microsoft Teams MCP Server
 */
export declare class CredentialStore {
    private ensureConfigDir;
    /**
     * Store credentials securely
     */
    storeCredentials(credentials: StoredCredentials): Promise<void>;
    /**
     * Retrieve stored credentials
     */
    getCredentials(): Promise<StoredCredentials | null>;
    /**
     * Store authentication tokens securely
     */
    storeTokens(tokens: StoredTokens): Promise<void>;
    /**
     * Retrieve stored tokens
     */
    getTokens(): Promise<StoredTokens | null>;
    /**
     * Clear all stored credentials and tokens
     */
    clearAll(): Promise<void>;
    /**
     * Check if credentials are stored
     */
    hasCredentials(): Promise<boolean>;
    /**
     * Check if tokens are stored and valid
     */
    hasValidTokens(): Promise<boolean>;
    /**
     * Get storage information for debugging
     */
    getStorageInfo(): {
        credentialsPath: string;
        tokensPath: string;
        configDir: string;
    };
}
export declare const credentialStore: CredentialStore;
