export interface ContactSupportDeps {
    subject: string;
    body: string;
    confirm: (message: string, logPath: string) => Promise<boolean>;
    buildFiles: () => ({
        logPath: string;
        gzPath: string;
    } | null) | Promise<{
        logPath: string;
        gzPath: string;
    } | null>;
    copyPath: (path: string) => boolean;
    reveal?: (path: string) => boolean | void;
    openUrl: (url: string) => Promise<unknown>;
    print: (message: string) => void;
    upload?: (gzPath: string) => Promise<{
        id: string;
        url: string;
    } | null>;
}
export type ContactSupportResult = 'opened' | 'cancelled' | 'failed';
export declare function resetSupportUploadCacheForTests(): void;
export declare function contactSupport(deps: ContactSupportDeps): Promise<ContactSupportResult>;
