import { ResponseData } from "../utils/responseData.js";
import { BitbucketRepository } from "../services/bitbucket.service.js";
import { FastifyReply, FastifyRequest } from "fastify";

//#region src/controllers/bitbucket.controller.d.ts
type BitbucketGetAuthUrlQuerystring = {
  redirectUri: string;
};
type BitbucketGetAuthUrlResult = ResponseData<{
  authUrl: string;
}>;
declare const getAuthUrl: (request: FastifyRequest<{
  Querystring: BitbucketGetAuthUrlQuerystring;
}>, reply: FastifyReply) => Promise<void>;
type BitbucketAuthCallbackBody = {
  code: string;
};
type BitbucketAuthCallbackResult = ResponseData<{
  token: string;
}>;
declare const authCallback: (request: FastifyRequest<{
  Body: BitbucketAuthCallbackBody;
}>, reply: FastifyReply) => Promise<void>;
type BitbucketListReposQuerystring = {
  token?: string;
};
type BitbucketListReposResult = ResponseData<BitbucketRepository[]>;
declare const listRepos: (request: FastifyRequest<{
  Querystring: BitbucketListReposQuerystring;
}>, reply: FastifyReply) => Promise<void>;
type BitbucketCheckConfigBody = {
  token?: string;
  workspace: string;
  repoSlug: string;
  branch?: string;
};
type BitbucketCheckConfigResult = ResponseData<{
  hasConfig: boolean;
  configPaths: string[];
}>;
/**
 * Check if intlayer.config.ts (or candidates) exists in a Bitbucket repository
 */
declare const checkConfig: (request: FastifyRequest<{
  Body: BitbucketCheckConfigBody;
}>, reply: FastifyReply) => Promise<void>;
type BitbucketGetConfigFileBody = {
  token?: string;
  workspace: string;
  repoSlug: string;
  branch?: string;
  path?: string;
};
type BitbucketGetConfigFileResult = ResponseData<{
  content: string;
}>;
declare const getConfigFile: (request: FastifyRequest<{
  Body: BitbucketGetConfigFileBody;
}>, reply: FastifyReply) => Promise<void>;
//#endregion
export { BitbucketAuthCallbackBody, BitbucketAuthCallbackResult, BitbucketCheckConfigBody, BitbucketCheckConfigResult, BitbucketGetAuthUrlQuerystring, BitbucketGetAuthUrlResult, BitbucketGetConfigFileBody, BitbucketGetConfigFileResult, BitbucketListReposQuerystring, BitbucketListReposResult, authCallback, checkConfig, getAuthUrl, getConfigFile, listRepos };
//# sourceMappingURL=bitbucket.controller.d.ts.map