import { createFigmaTokenStore, type FigmaConnectorMetrics, type FigmaHttpPort, type FigmaKeychainAccess, type FigmaProvenance, type FigmaRenderPort, type FigmaScopeCoverage, type FigmaScopeRef, type FigmaSnapshot, type ScopedPaginationLimits } from "./figma/index.js";
import { QualityIntelligenceFigma } from "@oscharko-dev/keiko-quality-intelligence";
import type { EnvSource } from "@oscharko-dev/keiko-security";
import type { OutboundHttpEgressConfig } from "@oscharko-dev/keiko-model-gateway/internal/http";
type ScreenIrResult = QualityIntelligenceFigma.ScreenIrResult;
export interface GovernedSnapshotDeps {
    readonly evidenceDir: string;
    readonly env: EnvSource;
    /** Wall-clock for consent + audit timestamps; injected so tests stay deterministic. */
    readonly now: string;
    /** When true, record the read-only-scope acknowledgement before the fetch (operator consent). */
    readonly acknowledgeReadOnly?: boolean;
    /** Deep scoped-pagination overrides (#837). */
    readonly pagination?: Partial<ScopedPaginationLimits>;
    /** Shared enterprise egress settings for Figma API + render downloads (#802). */
    readonly egress?: OutboundHttpEgressConfig | undefined;
    readonly httpPort?: FigmaHttpPort;
    readonly renderPort?: FigmaRenderPort;
    readonly keychainAccess?: FigmaKeychainAccess;
}
export interface GovernedSnapshotResult {
    readonly provenance: FigmaProvenance;
    readonly coverage: FigmaScopeCoverage | undefined;
    readonly snapshot: FigmaSnapshot;
    readonly ir: ScreenIrResult;
    readonly metrics: FigmaConnectorMetrics;
    readonly scopeRef: FigmaScopeRef;
}
/**
 * Read the encrypted-at-rest vault PAT (#758), or `undefined` when no vault token is stored or the
 * vault key cannot be resolved. Highest precedence in {@link resolveFigmaToken}. Never throws — a
 * missing/unreadable vault degrades to the config/env token rather than failing the build.
 */
export declare const readFigmaVaultToken: (deps: GovernedSnapshotDeps) => string | undefined;
/** Build the encrypted token store for operator rotation/revocation (#758). */
export declare const figmaTokenStoreFor: (deps: Pick<GovernedSnapshotDeps, "env" | "evidenceDir" | "keychainAccess">) => ReturnType<typeof createFigmaTokenStore>;
/**
 * Run the governed snapshot-build for `boardLink`: resolve the vault>config>env PAT, gate on recorded
 * read-only consent BEFORE any Figma egress, perform the deep scoped-pagination fetch + render, and
 * audit + compute metrics. Throws a coded {@link FigmaConnectorError} on any failure (the route maps
 * it to a status) — a fetch failure is audited before it propagates, a render failure inside the
 * observed wrapper likewise. `isResnapshot` only changes the audited action label.
 */
export declare const governedSnapshotBuild: (boardLink: string, deps: GovernedSnapshotDeps, isResnapshot?: boolean) => Promise<GovernedSnapshotResult>;
export {};
//# sourceMappingURL=figmaSnapshotOrchestration.d.ts.map