/**
 * GitHub Provider
 *
 * Full implementation of the GitHub ExternalProvider.
 * Handles connection testing via the GitHub API and provides
 * a TaskSyncAdapter for bidirectional task/issue synchronization.
 *
 * The provider uses a lazy-initialized GitHubTaskAdapter that
 * requires a ProviderConfig with a valid token before use.
 *
 * Also exports the placeholder provider for backward compatibility
 * with systems that register the provider before configuration.
 */
import type { ExternalProvider, ProviderConfig } from '@stoneforge/core';
/**
 * Create a configured GitHub provider.
 *
 * The provider is ready to use for sync operations when a valid
 * token is provided in the config. The task adapter is initialized
 * immediately with the provided credentials.
 *
 * @param config - Provider configuration with token and optional apiBaseUrl
 * @returns A fully configured GitHub ExternalProvider
 */
export declare function createGitHubProvider(config: ProviderConfig): ExternalProvider;
/**
 * Create a placeholder GitHub provider.
 *
 * The provider is registered by default in the provider registry so that
 * the system knows GitHub is an available provider. Connection testing
 * always returns false and all adapter methods throw until configured.
 *
 * @returns A placeholder GitHub ExternalProvider
 */
export declare function createGitHubPlaceholderProvider(): ExternalProvider;
//# sourceMappingURL=github-provider.d.ts.map