import type { DesignSystemSourceInput } from "@builder.io/ai-utils"; export interface BuilderDesignSystemIndexFile { name: string; data: Uint8Array; mimeType?: string; } export interface BuilderDesignSystemCodeFileInput { filename: string; content: string; mimeType?: string; encoding?: "utf8" | "base64"; } export interface BuildBuilderDesignSystemIndexFilesOptions { codeFiles?: BuilderDesignSystemCodeFileInput[]; designMd?: string; designMdFilename?: string; maxCodeFiles?: number; maxTotalCodeBytes?: number; overflowBehavior?: "skip" | "throw"; } export interface BuilderDesignSystemProxyFieldsOptions { result: BuilderDesignSystemIndexResult; projectName?: string; description?: string; surface: "design" | "slides"; sourceKind?: BuilderDesignSystemSourceKind; githubSources?: BuilderDesignSystemGitHubSource[]; syncedAt?: string; } export type BuilderDesignSystemSourceKind = "figma" | "code" | "github" | "mixed"; export interface BuilderDesignSystemProxyFields { title: string; description: string; data: string; customInstructions: string; } export interface BuilderDesignSystemProxyReference { source: "builder"; sourceKind?: BuilderDesignSystemSourceKind; builderDesignSystemId: string; builderJobId: string; builderProjectId?: string; builderUrl?: string; builderStatus?: string; githubSources?: BuilderDesignSystemGitHubSource[]; syncedAt?: string; } export interface BuilderDesignSystemDocsOptions { page?: number; pageSize?: number; minimal?: boolean; type?: string; } export interface BuilderDesignSystemDocument { id?: string; name?: string; type?: string; description?: string; content?: string; tokenValues?: Record; rawTokens?: string[]; relevantFiles?: string[]; relatedComponents?: string[]; } export interface BuilderDesignSystemHydratedReference extends BuilderDesignSystemProxyReference { docs: BuilderDesignSystemDocument[]; tokenValues: Record; docCount: number; completionConfirmed?: boolean; } export type BuilderDesignSystemDocumentCountResult = { ok: true; docCount: number; } | { ok: false; reason: "unreachable" | "invalid-response"; detail: string; }; export interface BuilderDesignSystemIndexOptions { projectName?: string; description?: string; githubRepoUrl?: string; githubRepos?: BuilderDesignSystemGitHubSource[]; connectedProjectId?: string; files?: BuilderDesignSystemIndexFile[]; selection?: Record; devToolsVersion?: string; } export interface BuilderDesignSystemGitHubSource { repoUrl: string; ref?: string; include?: string[]; exclude?: string[]; instructions?: string; } export interface BuilderDesignSystemIndexResult { ok: true; source: "builder"; projectId: string; jobId: string; designSystemId: string; suggestedTitle: string | null; builderUrl: string; status: BuilderDesignSystemStatus; } export type BuilderDesignSystemStatus = "in-progress" | "ready" | "complete" | "completed" | "error" | "failed" | "cancelled"; export interface BuilderDesignSystemTierLimit { status: "ok" | "unavailable"; plan: string | null; current: number | null; max: number | null; atMax: boolean; codeIndexingAllowed: boolean; upgradeUrl: string | null; } export interface BuilderDesignSystemUploadAttachment { name: string; mimetype: string; declaredSize: number; } export interface BuilderDesignSystemUploadSlot { idx: number; uploadUrl: string; uploadToken: string; } export interface BuilderDesignSystemIndexFromSourcesOptions { sources: DesignSystemSourceInput[]; projectName?: string; devToolsVersion?: string; } export interface BuilderDesignSystemDecodeJobStatus { jobId: string; status: "pending" | "processing" | "complete" | "error"; framesProcessed: number; totalFrames: number; branchName: string | null; branchUrl: string | null; error: string | null; partialFailure?: boolean; createdAt: number; updatedAt: number; } export interface BuilderDesignSystemGitHubFile { path: string; content: string; } export interface BuilderDesignSystemGitHubFileCollection { source: BuilderDesignSystemGitHubSource; owner: string; repo: string; ref?: string; files: BuilderDesignSystemGitHubFile[]; totalBytes: number; truncated: boolean; } export declare function collectBuilderDesignSystemGitHubFiles(input: BuilderDesignSystemGitHubSource): Promise; export declare function fetchBuilderDesignSystemDecodeJobStatus(jobId: string): Promise; export interface BuilderDesignSystemRecord { projectId?: string; branchName?: string; } export declare function fetchBuilderDesignSystemRecord(designSystemId: string): Promise; export declare function fetchBuilderDesignSystemTierLimit(): Promise; export declare function assertBuilderDesignSystemCodeIndexingAllowed(): Promise; export declare function getBuilderDesignSystemsBaseUrl(): string; export declare function mimeTypeForBuilderDesignSystemFilename(filename: string, explicit?: string): string; export declare function buildBuilderDesignSystemIndexFiles({ codeFiles, designMd, designMdFilename, maxCodeFiles, maxTotalCodeBytes, overflowBehavior, }: BuildBuilderDesignSystemIndexFilesOptions): BuilderDesignSystemIndexFile[]; export declare function builderDesignSystemUrl(designSystemId?: string | null): string; export declare function builderProjectBranchUrl(projectId?: string | null, branchName?: string | null): string | undefined; export declare function designSystemTierUpgradeUrl(): string; export declare function localBuilderDesignSystemId(builderDesignSystemId: string): string; export declare function createBuilderDesignSystemProxyFields({ result, projectName, description, surface, sourceKind, githubSources, syncedAt, }: BuilderDesignSystemProxyFieldsOptions): BuilderDesignSystemProxyFields; export declare function parseBuilderDesignSystemProxyReference(data: unknown): BuilderDesignSystemProxyReference | null; export declare function isBuilderDesignSystemReadyByCount(docCount: number): boolean; export declare function fetchBuilderDesignSystemDocumentCount(designSystemId: string): Promise; export declare function fetchBuilderDesignSystemDocs(designSystemId: string, options?: BuilderDesignSystemDocsOptions): Promise; export declare function hydrateBuilderDesignSystemReference(reference: BuilderDesignSystemProxyReference, options?: BuilderDesignSystemDocsOptions): Promise; export declare function startBuilderDesignSystemUpload(attachments: BuilderDesignSystemUploadAttachment[]): Promise; export declare function indexBuilderDesignSystem(options: BuilderDesignSystemIndexFromSourcesOptions): Promise; export declare function startBuilderDesignSystemIndex(options: BuilderDesignSystemIndexOptions): Promise;