import type { IssuePriority, IssueStatus } from "../constants.js"; export declare const COMPANY_SEARCH_SCOPES: readonly ["all", "issues", "comments", "documents", "artifacts", "agents", "projects"]; export type CompanySearchScope = (typeof COMPANY_SEARCH_SCOPES)[number]; export declare const COMPANY_SEARCH_SORTS: readonly ["relevance", "updated", "created", "priority"]; export type CompanySearchSort = (typeof COMPANY_SEARCH_SORTS)[number]; export declare const COMPANY_SEARCH_UPDATED_WITHIN_OPTIONS: readonly ["24h", "7d", "30d", "90d"]; export type CompanySearchUpdatedWithinOption = (typeof COMPANY_SEARCH_UPDATED_WITHIN_OPTIONS)[number]; export type CompanySearchResultType = "issue" | "artifact" | "agent" | "project"; export type CompanySearchCountType = CompanySearchResultType | "comment" | "document"; export type CompanySearchIssueFilterKey = "status" | "assigneeAgentId" | "assigneeUserId" | "projectId" | "labelId" | "priority" | "updatedWithin" | "updatedAfter"; export interface CompanySearchHighlight { start: number; end: number; } export interface CompanySearchSnippet { field: string; label: string; text: string; highlights: CompanySearchHighlight[]; } export interface CompanySearchIssueSummary { id: string; identifier: string | null; title: string; status: IssueStatus; externalConversationState?: "active" | "waiting" | null; priority: IssuePriority; assigneeAgentId: string | null; assigneeUserId: string | null; projectId: string | null; updatedAt: string; } export interface CompanySearchArtifactSummary { id: string; source: "document" | "attachment" | "work_product"; mediaKind: "image" | "video" | "text" | "document" | "file" | "empty"; issueId: string; issueIdentifier: string; issueTitle: string; projectId: string | null; projectName: string | null; updatedAt: string; } export interface CompanySearchResult { id: string; type: CompanySearchResultType; score: number; title: string; href: string; matchedFields: string[]; sourceLabel: string | null; snippet: string | null; snippets: CompanySearchSnippet[]; issue?: CompanySearchIssueSummary; artifact?: CompanySearchArtifactSummary; updatedAt: string | null; previewImageUrl: string | null; } export interface CompanySearchFilterOptionCounts { status: Partial>; priority: Partial>; assigneeAgentId: Record; assigneeUserId: Record; projectId: Record; labelId: Record; updatedWithin: Partial>; } export interface CompanySearchZeroResultsLoosenSuggestion { filter: CompanySearchIssueFilterKey; values: string[]; resultCount: number; additionalCount: number; } export interface CompanySearchZeroResults { unfilteredTotal: number; loosenSuggestions: CompanySearchZeroResultsLoosenSuggestion[]; } export interface CompanySearchResponse { query: string; normalizedQuery: string; scope: CompanySearchScope; sort: CompanySearchSort; limit: number; offset: number; results: CompanySearchResult[]; countsByType: Record; filterOptionCounts: CompanySearchFilterOptionCounts; zeroResults: CompanySearchZeroResults | null; hasMore: boolean; } export declare const COMPANY_SEARCH_EXTRACT_SCOPES: readonly ["all", "issues", "comments", "documents"]; export type CompanySearchExtractScope = (typeof COMPANY_SEARCH_EXTRACT_SCOPES)[number]; export declare const COMPANY_SEARCH_EXTRACT_KINDS: readonly ["literal", "url"]; export type CompanySearchExtractKind = (typeof COMPANY_SEARCH_EXTRACT_KINDS)[number]; export type CompanySearchExtractSourceRef = { type: "issue"; issueId: string; } | { type: "comment"; commentId: string; } | { type: "document"; documentId: string; documentKey: string; }; export interface CompanySearchExtractMatch { value: string; field: "title" | "description" | "comment" | "document_title" | "document_body"; label: string; excerpt: string; excerptTruncated: boolean; source: CompanySearchExtractSourceRef; } export interface CompanySearchExtractIssueResult { issueId: string; identifier: string | null; title: string; status: IssueStatus; assigneeAgentId: string | null; updatedAt: string; matches: CompanySearchExtractMatch[]; matchesTruncated: boolean; } export interface CompanySearchExtractResponse { contains: string; kind: CompanySearchExtractKind; scope: CompanySearchExtractScope; limit: number; offset: number; matchesPerIssue: number; results: CompanySearchExtractIssueResult[]; hasMore: boolean; truncated: boolean; } //# sourceMappingURL=search.d.ts.map