/**
 * Azure DevOps Provider Implementation
 *
 * Implements GitProvider interface for Azure DevOps Repos.
 * Handles repository validation, creation, and management via Azure DevOps REST API.
 *
 * @module providers/azure-devops-provider
 */
import { BaseGitProvider, type PlatformConfig, type RepoValidationResult, type OwnerValidationResult, type CreateRepoOptions } from '../git-provider.js';
import type { UrlType } from '../url-generator.js';
/**
 * Azure DevOps Provider
 *
 * Implements Git operations for Azure DevOps platform.
 * Note: Azure DevOps uses organization/project/repository structure.
 * The "owner" parameter typically represents "organization/project".
 */
export declare class AzureDevOpsProvider extends BaseGitProvider {
    constructor(config?: Partial<PlatformConfig>);
    /**
     * Validate if a repository exists in Azure DevOps
     * owner format: "organization/project"
     */
    validateRepository(owner: string, repo: string, token?: string): Promise<RepoValidationResult>;
    /**
     * Validate if an Azure DevOps organization/project exists
     * owner format: "organization/project"
     */
    validateOwner(owner: string, token?: string): Promise<OwnerValidationResult>;
    /**
     * Create a new repository in Azure DevOps
     */
    createRepository(options: CreateRepoOptions, token: string): Promise<string>;
    /**
     * Check if account is an organization (always true for Azure DevOps)
     */
    isOrganization(account: string, token?: string): Promise<boolean>;
    /**
     * List all repositories in an Azure DevOps project
     *
     * @param organization - ADO organization name
     * @param project - ADO project name
     * @param token - Personal Access Token
     * @returns Array of repository info
     */
    listRepositories(organization: string, project: string, token: string): Promise<Array<{
        id: string;
        name: string;
        remoteUrl: string;
        sshUrl: string;
        webUrl: string;
    }>>;
    /**
     * Get token creation URL
     */
    getTokenUrl(): string;
    /**
     * Get required token scopes
     */
    getRequiredScopes(isOrganization?: boolean): string[];
    /**
     * Override getRemoteUrl for Azure DevOps-specific URL format
     */
    getRemoteUrl(owner: string, repo: string, urlType: UrlType): string;
    /**
     * Override getAuthHeaders for Azure DevOps-specific auth (Basic Auth with PAT)
     */
    protected getAuthHeaders(token: string): Record<string, string>;
    /**
     * Parse owner string into organization and project
     * Format: "organization" or "organization/project"
     */
    private parseOwner;
}
/**
 * Create an Azure DevOps provider instance
 */
export declare function createAzureDevOpsProvider(config?: Partial<PlatformConfig>): AzureDevOpsProvider;
//# sourceMappingURL=azure-devops-provider.d.ts.map