//#region src/services/bitbucket.service.d.ts
type BitbucketRepository = {
  uuid: string;
  name: string;
  full_name: string;
  slug: string;
  mainbranch?: {
    name: string;
    type: string;
  };
  links: {
    html: {
      href: string;
    };
  };
  workspace: {
    slug: string;
    name: string;
    uuid: string;
  };
  owner: {
    display_name: string;
    username?: string;
    uuid: string;
  };
  updated_on: string;
  is_private: boolean;
};
type BitbucketTreeItem = {
  path: string;
  type: 'commit_file' | 'commit_directory';
  size?: number;
};
/**
 * Get Bitbucket (Atlassian) authorization URL for OAuth flow
 */
declare const getAuthorizationUrl: (_redirectUri: string) => string;
/**
 * Exchange Bitbucket authorization code for access token
 */
declare const exchangeCodeForToken: (code: string) => Promise<string>;
/**
 * Get user's Bitbucket repositories
 */
declare const getUserRepositories: (accessToken: string) => Promise<BitbucketRepository[]>;
/**
 * Check if valid intlayer configuration files exist in a Bitbucket repository (Recursively).
 * Returns an array of file paths found.
 */
declare const checkIntlayerConfig: (accessToken: string, workspace: string, repoSlug: string, branch?: string) => Promise<string[]>;
/**
 * Get repository file contents from Bitbucket and decode it
 */
declare const getRepositoryFileContents: (accessToken: string, workspace: string, repoSlug: string, path: string, branch?: string) => Promise<string | null>;
/**
 * Get Bitbucket access token from user's linked account (Atlassian)
 */
declare const getBitbucketTokenFromUser: (userId: string) => Promise<string | null>;
/**
 * Check if a Bitbucket pipeline file exists
 */
declare const checkPipelineFileExists: (accessToken: string, workspace: string, repoSlug: string, filename?: string, branch?: string) => Promise<boolean>;
/**
 * Create or update a Bitbucket pipeline file
 * Note: Bitbucket API doesn't support direct file creation via API v2.0
 * This function returns false for allowAutoPush, requiring manual installation
 */
declare const createPipelineFile: (_accessToken: string, _workspace: string, _repoSlug: string, _filename: string, _content: string, _branch?: string, _message?: string) => Promise<void>;
//#endregion
export { BitbucketRepository, BitbucketTreeItem, checkIntlayerConfig, checkPipelineFileExists, createPipelineFile, exchangeCodeForToken, getAuthorizationUrl, getBitbucketTokenFromUser, getRepositoryFileContents, getUserRepositories };
//# sourceMappingURL=bitbucket.service.d.ts.map