import type { AuthStorage } from "../session/auth-storage";
import { type MCPStoredOAuthCredential } from "./oauth-flow";
import type { MCPAuthConfig, MCPServerConfig } from "./types";
export interface MCPOAuthCredentialLookup {
    credentialId: string;
    credential: MCPStoredOAuthCredential;
}
export type MCPOAuthRefreshMaterial = MCPStoredOAuthCredential | MCPAuthConfig | undefined;
export declare function mcpOAuthCredentialIdsForServerUrl(serverUrl: string | undefined): string[];
export declare function hasMcpAuthorizationHeader(config: MCPServerConfig): boolean;
export declare function lookupMcpOAuthCredentialForServer(authStorage: AuthStorage | null | undefined, auth: MCPAuthConfig | undefined, serverUrl: string | undefined, options?: {
    allowUrlKeyedFallback?: boolean;
}): MCPOAuthCredentialLookup | undefined;
export declare function lookupMcpOAuthCredential(authStorage: AuthStorage | null | undefined, config: MCPServerConfig): MCPOAuthCredentialLookup | undefined;
export declare function selectMcpOAuthRefreshMaterial(credential: MCPStoredOAuthCredential, auth: MCPAuthConfig | undefined): MCPOAuthRefreshMaterial;
export declare function removeManagedMcpOAuthCredential(authStorage: AuthStorage, credentialId: string | undefined): Promise<boolean>;
export declare function removeManagedMcpOAuthCredentials(authStorage: AuthStorage, credentialIds: readonly (string | undefined)[]): Promise<boolean>;
