export interface StaticAccepterImage {
    /** HTTP(S) source URL. Relative URLs are resolved against the report page. */
    image: string;
    /** Repository-relative path, relative to repositoryUrl. */
    path: string;
}
export type StaticAccepterPayloadV2 = readonly StaticAccepterImage[] | Readonly<Record<string, string>>;
export type StaticAccepterTheme = 'light' | 'dark';
export interface StaticAccepterConfig {
    repositoryUrl: string;
    pullRequestUrl: string;
    /** Integer from 1 to 32. Server defaults to 16. */
    downloadConcurrency?: number;
}
export type StaticAccepterProgressPhase = 'downloading' | 'committing' | 'waiting-for-confirmation' | 'submitting' | 'suggesting';
export interface StaticAccepterProgress {
    phase: StaticAccepterProgressPhase;
    completed: number;
    total: number;
}
export interface StaticAccepterResult {
    status: 'submitted' | 'suggested' | 'cancelled';
}
export interface StaticAccepterOptions {
    message: string;
    config: StaticAccepterConfig;
    theme?: StaticAccepterTheme;
    onProgressChange?: (progress: StaticAccepterProgress) => void;
}
export interface StaticAccepterModule {
    default(images: StaticAccepterPayloadV2, options: StaticAccepterOptions): Promise<StaticAccepterResult>;
}
export type StaticAccepterModuleLoader = (moduleUrl: string) => Promise<StaticAccepterModule>;
export interface StaticAccepterClientV2 {
    preload(moduleUrl: string): Promise<StaticAccepterModule>;
    start(moduleUrl: string, images: StaticAccepterPayloadV2, options: StaticAccepterOptions): Promise<StaticAccepterResult>;
}
export declare const isStaticAccepterPopupBlockedError: (error: unknown) => boolean;
export declare const createStaticAccepterClientV2: (loadModule?: StaticAccepterModuleLoader) => StaticAccepterClientV2;
export declare const preloadStaticAccepter: (moduleUrl: string) => Promise<StaticAccepterModule>;
export declare const startStaticAccepter: (moduleUrl: string, images: StaticAccepterPayloadV2, options: StaticAccepterOptions) => Promise<StaticAccepterResult>;
