import { type AmplitudeZone } from '../lib/constants.js';
export interface DirectSignupInput {
    email: string;
    fullName: string;
    zone: AmplitudeZone;
}
export type DirectSignupResult = {
    kind: 'success';
    tokens: {
        accessToken: string;
        idToken: string;
        refreshToken: string;
        expiresAt: string;
        zone: AmplitudeZone;
    };
    /** From `dashboard_url`; may contain secrets — never log or NDJSON. */
    dashboardUrl: string | null;
} | {
    kind: 'requires_redirect';
} | {
    kind: 'error';
    message: string;
    code?: string;
};
/**
 * Attempts to create an Amplitude account and obtain tokens directly via the
 * provisioning endpoint (amplitude/javascript PR #103683). Callers should fall
 * back to the OAuth redirect flow on `requires_redirect` or `error`.
 */
export declare function performDirectSignup(input: DirectSignupInput): Promise<DirectSignupResult>;
