import { createNetlifyClient, collectDeployFiles, createFileManifest, filterRequiredFiles, formatSize, getTotalSize, type NetlifyClient, type NetlifyDeploy, type DeployFile } from './netlify';
import { detectProjectConfig, createDefaultNetlifyConfig, generateNetlifyToml, writeNetlifyConfig, hasNetlifyConfig } from './config-generators';
export type {
  NetlifyClient,
  NetlifySite,
  NetlifyDeploy,
  DeployFile,
} from './netlify';
export type {
  NetlifyConfig,
  ProjectConfig,
} from './config-generators';
/**
 * Deploy to Netlify
 */
export declare function deploy(config?: DeployConfig): Promise<DeployResult>;
/**
 * Initialize Netlify configuration for a project
 */
// eslint-disable-next-line pickier/no-unused-vars
export declare function initNetlify(config?: InitConfig): Promise<{
  configPath: string
  siteId?: string
}>;
// ============================================================================
// Types
// ============================================================================
export declare interface DeployConfig {
  directory?: string
  siteId?: string
  token?: string
  production?: boolean
  message?: string
  build?: boolean
  open?: boolean
  dryRun?: boolean
  functions?: string
  cwd?: string
  onProgress?: (status: DeployProgress) => void
}
export declare interface DeployProgress {
  stage: 'build' | 'collect' | 'upload' | 'process' | 'done' | 'error'
  message: string
  percent?: number
  details?: unknown
}
export declare interface DeployResult {
  success: boolean
  url: string
  siteUrl?: string
  deployId: string
  logs: string[]
  duration: number
  filesUploaded: number
  totalSize: number
}
export declare interface InitConfig {
  directory?: string
  siteId?: string
  createSite?: boolean
  siteName?: string
}
// ============================================================================
// Error Handling
// ============================================================================
export declare class DeployError extends Error {
  code: string;
  constructor(message: string, code: string);
}
// ============================================================================
// Re-exports
// ============================================================================
export {
  createNetlifyClient,
  collectDeployFiles,
  createFileManifest,
  filterRequiredFiles,
  formatSize,
  getTotalSize,
  calculateSha1,
} from './netlify';
export {
  generateNetlifyToml,
  detectProjectConfig,
  createDefaultNetlifyConfig,
  writeNetlifyConfig,
  hasNetlifyConfig,
} from './config-generators';
