import type { DevToolsSys } from "../types";
import type { CLIArgs } from "./index";
import type { Feature } from "$/ai-utils";
export interface CredentialsOptions {
    forceSpaceId?: string;
    builderPublicKey?: boolean;
    builderPrivateKey?: boolean;
    figmaAuth?: boolean;
    force?: boolean;
}
export interface FigmaAuth {
    access_token: string;
    oauth: boolean;
}
export interface BuilderCodegenUsage {
    total: number | undefined;
    fast: number | undefined;
    quality: number | undefined;
    features?: Feature[];
    limits?: {
        aiGeneration: number;
        aiGenerationContextWindow: number;
    };
}
export interface BuilderAuth {
    privateKey: string;
    spaceId: string;
    spaceName: string;
    userId: string;
}
export declare const isCI: (args: CLIArgs) => boolean;
export interface Credentials {
    figmaAuth?: FigmaAuth;
    builderPublicKey?: string;
    builderPrivateKey?: string;
    spaceName?: string;
    userId?: string;
    timestamp?: string;
}
export declare const readCredentials: (sys: DevToolsSys, args: CLIArgs) => {
    spaceName: string | undefined;
    userId: string | undefined;
    builderPublicKey: string | undefined;
    builderPrivateKey: string | undefined;
    figmaAuth: FigmaAuth | undefined;
    timestamp: string | undefined;
};
export declare const getCredentials: (sys: DevToolsSys, args: CLIArgs, opts: CredentialsOptions) => Promise<Credentials>;
export declare function getFigmaAuth(sys: DevToolsSys): Promise<FigmaAuth>;
export declare function getBuilderCodegenUsage(builderPublicKey: string, builderPrivateKey: string): Promise<BuilderCodegenUsage>;
export declare function getBuilderAuth(sys: DevToolsSys, preferSpaceId?: string): Promise<BuilderAuth>;
export declare function storeCredentials(sys: DevToolsSys, credentials: Credentials): void;
export declare function clearCredentials(sys: DevToolsSys): boolean;
