/**
 * JIRA Token Provider
 *
 * Centralized API token retrieval logic for JIRA.
 * Supports domain-specific tokens via environment variables.
 *
 * Token Resolution Priority:
 * 1. Domain-specific: JIRA_API_TOKEN_{DOMAIN} (e.g., JIRA_API_TOKEN_ACME)
 * 2. Default: JIRA_API_TOKEN
 *
 * Email Resolution Priority:
 * 1. Domain-specific: JIRA_EMAIL_{DOMAIN} (e.g., JIRA_EMAIL_ACME)
 * 2. Default: JIRA_EMAIL
 *
 * This mirrors the ADO PAT provider pattern for consistency.
 *
 * @module integrations/jira/jira-token-provider
 */
/**
 * JIRA credentials for a specific domain
 */
export interface JiraCredentialsResolved {
    apiToken: string;
    email: string;
    domain: string;
}
/**
 * Get API token for a specific JIRA domain
 *
 * Supports domain-specific tokens via JIRA_API_TOKEN_{DOMAIN} env vars.
 * This allows different JIRA instances to use different credentials.
 *
 * @param domain - The JIRA domain (e.g., company.atlassian.net)
 * @returns The API token string
 * @throws Error if no token is configured
 *
 * @example
 * // Uses JIRA_API_TOKEN_ACME if set, otherwise JIRA_API_TOKEN
 * const token = getJiraToken('acme.atlassian.net');
 */
export declare function getJiraToken(domain: string): string;
/**
 * Get email for a specific JIRA domain
 *
 * @param domain - The JIRA domain
 * @returns The email string
 * @throws Error if no email is configured
 */
export declare function getJiraEmail(domain: string): string;
/**
 * Get full credentials for a JIRA domain
 *
 * @param domain - The JIRA domain
 * @returns Complete credentials object
 */
export declare function getJiraCredentialsForDomain(domain: string): JiraCredentialsResolved;
/**
 * Check if credentials are available for a domain
 *
 * @param domain - The JIRA domain (optional, checks default if not provided)
 * @returns true if credentials are available (domain-specific or default)
 */
export declare function hasJiraCredentials(domain?: string): boolean;
/**
 * Get the environment variable key for a domain's token
 *
 * @param domain - The JIRA domain
 * @returns The environment variable key
 *
 * @example
 * getTokenEnvKey('acme.atlassian.net') // returns 'JIRA_API_TOKEN_ACME'
 */
export declare function getTokenEnvKey(domain: string): string;
/**
 * Get the environment variable key for a domain's email
 *
 * @param domain - The JIRA domain
 * @returns The environment variable key
 *
 * @example
 * getEmailEnvKey('acme.atlassian.net') // returns 'JIRA_EMAIL_ACME'
 */
export declare function getEmailEnvKey(domain: string): string;
/**
 * List all configured JIRA domains from environment
 *
 * Scans environment variables for JIRA_API_TOKEN_* patterns
 * and returns the list of configured domains.
 *
 * @returns Array of domain suffixes (e.g., ['ACME', 'CORP'])
 */
export declare function listConfiguredDomains(): string[];
//# sourceMappingURL=jira-token-provider.d.ts.map