/**
 * GitLab Provider Implementation
 *
 * Implements GitProvider interface for GitLab.com and self-hosted GitLab instances.
 * Handles project validation, creation, and management via GitLab API v4.
 *
 * @module providers/gitlab-provider
 */
import { BaseGitProvider, type PlatformConfig, type RepoValidationResult, type OwnerValidationResult, type CreateRepoOptions } from '../git-provider.js';
/**
 * GitLab Provider
 *
 * Implements Git operations for GitLab platform.
 * Supports both GitLab.com and self-hosted GitLab instances.
 */
export declare class GitLabProvider extends BaseGitProvider {
    constructor(config?: Partial<PlatformConfig>);
    /**
     * Validate if a project exists on GitLab
     */
    validateRepository(owner: string, repo: string, token?: string): Promise<RepoValidationResult>;
    /**
     * Validate if a GitLab namespace (user or group) exists
     */
    validateOwner(owner: string, token?: string): Promise<OwnerValidationResult>;
    /**
     * Create a new project on GitLab
     */
    createRepository(options: CreateRepoOptions, token: string): Promise<string>;
    /**
     * Check if a namespace is a group (organization)
     */
    isOrganization(account: string, token?: string): Promise<boolean>;
    /**
     * Get token creation URL
     */
    getTokenUrl(): string;
    /**
     * Get required token scopes
     */
    getRequiredScopes(isOrganization?: boolean): string[];
    /**
     * Override getAuthHeaders for GitLab-specific auth (PRIVATE-TOKEN)
     */
    protected getAuthHeaders(token: string): Record<string, string>;
}
/**
 * Create a GitLab provider instance
 */
export declare function createGitLabProvider(config?: Partial<PlatformConfig>): GitLabProvider;
//# sourceMappingURL=gitlab-provider.d.ts.map