/**
 * Per-tool contract for `request_credential` — host-mediated user-gesture flow.
 * Content strings are load-bearing because downstream renderers and the agent
 * both interpret success/cancel/failure summaries.
 */
import { type HostToolRequest, type ToolContract, type ToolLlmOptionsBase } from '../../../contracts/host-tool.js';
export declare const REQUEST_CREDENTIAL_KIND: "requestCredential";
export type RequestCredentialKind = typeof REQUEST_CREDENTIAL_KIND;
/** Accepted credential types. */
export type CredentialType = 'ACCESS_TOKEN' | 'API_KEY' | 'PASSWORD';
/** Resolution status — `cancelled` is first-class, not an error. */
export type RequestCredentialStatus = 'success' | 'cancelled';
export interface RequestCredentialParams {
    readonly domain: string;
    readonly credential_type: CredentialType;
    readonly url?: string;
    readonly message?: string;
}
/** Resolution the adapter's mailbox produces. */
export interface RequestCredentialDetails {
    readonly status: RequestCredentialStatus;
    readonly domain?: string;
    readonly credential_type?: CredentialType;
}
export type RequestCredentialRequest = HostToolRequest & {
    readonly kind: RequestCredentialKind;
    readonly params: RequestCredentialParams;
};
export declare const REQUEST_CREDENTIAL_TOOL_DESCRIPTION: string;
export declare const REQUEST_CREDENTIAL_DOMAIN_DESCRIPTION = "The service domain (e.g. 'github.com')";
export declare const REQUEST_CREDENTIAL_CREDENTIAL_TYPE_DESCRIPTION = "One of: ACCESS_TOKEN, API_KEY, PASSWORD";
export declare const REQUEST_CREDENTIAL_URL_DESCRIPTION = "Help link where user can create the credential (e.g. 'https://github.com/settings/tokens')";
export declare const REQUEST_CREDENTIAL_MESSAGE_DESCRIPTION = "Explanation shown to the user about why the credential is needed";
export declare const requestCredentialContract: ToolContract<RequestCredentialParams, RequestCredentialDetails, ToolLlmOptionsBase>;
//# sourceMappingURL=contract.d.ts.map