//#region src/services/gitlab.service.d.ts
type GitLabProject = {
  id: number;
  name: string;
  path_with_namespace: string;
  web_url: string;
  default_branch: string;
  visibility: string;
  last_activity_at: string;
  namespace: {
    id: number;
    name: string;
    path: string;
  };
};
type GitLabTreeItem = {
  id: string;
  name: string;
  type: 'tree' | 'blob';
  path: string;
  mode: string;
};
/**
 * Get GitLab authorization URL for OAuth flow
 */
declare const getAuthorizationUrl: (redirectUri: string, instanceUrl?: string, login?: string) => string;
/**
 * Exchange GitLab authorization code for access token
 */
declare const exchangeCodeForToken: (code: string, redirectUri: string, instanceUrl?: string) => Promise<string>;
/**
 * Get user's GitLab projects/repositories
 */
declare const getUserProjects: (accessToken: string, instanceUrl?: string) => Promise<GitLabProject[]>;
/**
 * Check if valid intlayer configuration files exist in a GitLab repository (Recursively).
 * Returns an array of file paths found.
 */
declare const checkIntlayerConfig: (accessToken: string, projectId: number, branch?: string, instanceUrl?: string) => Promise<string[]>;
/**
 * Get repository file contents from GitLab and decode it
 */
declare const getRepositoryFileContents: (accessToken: string, projectId: number, path: string, branch?: string, instanceUrl?: string) => Promise<string | null>;
/**
 * Get GitLab access token from user's linked account
 */
declare const getGitLabTokenFromUser: (userId: string) => Promise<string | null>;
/**
 * Check if a GitLab CI pipeline file exists
 */
declare const checkPipelineFileExists: (accessToken: string, projectId: number, filename?: string, branch?: string, instanceUrl?: string) => Promise<boolean>;
/**
 * Create or update a GitLab CI pipeline file
 */
declare const createPipelineFile: (accessToken: string, projectId: number, filename: string, content: string, branch?: string, instanceUrl?: string, message?: string) => Promise<void>;
//#endregion
export { GitLabProject, GitLabTreeItem, checkIntlayerConfig, checkPipelineFileExists, createPipelineFile, exchangeCodeForToken, getAuthorizationUrl, getGitLabTokenFromUser, getRepositoryFileContents, getUserProjects };
//# sourceMappingURL=gitlab.service.d.ts.map