import type { LaunchModelConfigInput } from "@leitwerk-dev/domain"; /** @public */ export interface RepositoryIssueWatcherConfig { /** @public */ profile: string; /** @public */ pollInterval: string; /** @public */ repositories: { /** @public */ include: readonly string[]; /** @public */ exclude: readonly string[]; }; /** @public */ labels: { /** @public */ trigger: string; /** @public */ done: string; }; } /** @public */ export declare function matchesRepository(config: Pick, repository: { /** @public */ full_name: string; }): boolean; /** Parse shared issue watcher fields; extensions choose the legacy type and label policy. @public */ export declare function parseRepositoryIssueWatcherConfig(raw: unknown, legacyType: string, distinctLabels?: boolean): ParsedRepositoryIssueWatcherConfig; /** @public */ export declare function presentRepositoryIssueWatcherConfig(config: RepositoryIssueWatcherConfig): RepositoryIssueWatcherPresentation; /** @public */ export interface ParsedRepositoryIssueWatcherConfig { /** @public */ config: RepositoryIssueWatcherConfig; /** @public */ enabled: boolean; /** @public */ launchModelConfig: LaunchModelConfigInput & { /** @public */ skillIds: string[]; }; } /** @public */ export interface RepositoryIssueWatcherPresentation { /** @public */ targetSummary: string; /** @public */ details: { /** @public */ label: string; /** @public */ value: string; }[]; } //# sourceMappingURL=repository-issue-watcher.d.ts.map