import type { SetupResult, OutputFunctions, SetupSecurityProvider } from "./types";
export declare const createOutput: () => OutputFunctions;
export declare class SecuritySetupWizard {
    private log;
    private prompts;
    private skipBrowserOpen;
    private out;
    constructor(options?: {
        debug?: boolean;
        skipBrowserOpen?: boolean;
    });
    checkTokenAvailable(provider: SetupSecurityProvider): Promise<boolean>;
    private isGhCliAuthenticated;
    private printSetupHeader;
    runSetup(provider: SetupSecurityProvider): Promise<SetupResult>;
    private checkExistingToken;
    private tryGitHubCliIfApplicable;
    private tryGitHubCliSetup;
    private handleMissingGhCli;
    private runGhAuth;
    private spawnGhAuth;
    private installAndAuthGh;
    private runTokenSetup;
    private printTokenSetupInstructions;
    private printRequiredScopes;
    private offerTokenPage;
    private shouldOfferBrowserOpen;
    private promptForToken;
    private completeTokenSetup;
    private promptForProfileSave;
    private createTokenSetupMessage;
    private handleInvalidToken;
    validateToken(provider: SetupSecurityProvider, token: string): Promise<boolean>;
    private validateGitHubToken;
    private validateSnykToken;
    private validateSocketToken;
    private isCommandAvailable;
    private openUrl;
    private saveToShellProfile;
    private writeTokenToShellProfile;
    private profileHasEnvVar;
    private handleProfileSaveError;
    private findShellProfile;
}
export declare function promptForSetup(provider: SetupSecurityProvider, options?: {
    debug?: boolean;
}): Promise<SetupResult>;
export type { SetupSecurityProvider };
