import type { FederatedGraph, Subgraph } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb';
import type { BaseCommandOptions } from '../../core/types/types.js';
/**
 * Retrieve user information [email] and [organization name]
 */
export declare function fetchUserInfo(client: BaseCommandOptions['client']): Promise<{
    userInfo: import("@wundergraph/cosmo-connect/dist/platform/v1/platform_pb").WhoAmIResponse;
    error: null;
} | {
    userInfo: null;
    error: Error;
}>;
/**
 * Retrieve onboarding record. Provides information about allowed [status]:
 * [error] | [not-allowed] | [ok]
 * If record exists, returns [onboarding] metadata.
 */
export declare function checkExistingOnboarding(client: BaseCommandOptions['client']): Promise<{
    readonly error: Error;
    readonly status: "error";
    readonly onboarding?: undefined;
} | {
    readonly status: "not-allowed";
    readonly error?: undefined;
    readonly onboarding?: undefined;
} | {
    readonly onboarding: {
        readonly finishedAt: string | undefined;
    };
    readonly status: "ok";
    readonly error?: undefined;
}>;
/**
 * Retrieves federated graph by [name] *demo*. Missing federated graph
 * is a valid state.
 */
export declare function fetchFederatedGraphByName(client: BaseCommandOptions['client'], { name, namespace }: {
    name: string;
    namespace: string;
}): Promise<{
    data: {
        graph: FederatedGraph | undefined;
        subgraphs: Subgraph[];
    };
    error: null;
} | {
    data: null;
    error: null;
} | {
    data: null;
    error: Error;
}>;
/**
 * Cleans up the federated graph by [name] _demo_ and its related
 * subgraphs.
 */
export declare function cleanUpFederatedGraph(client: BaseCommandOptions['client'], graphData: {
    graph: FederatedGraph;
    subgraphs: Subgraph[];
}): Promise<{
    error: Error;
} | {
    error: null;
}>;
/**
 * Creates federated graph using default [name] and [namespace], with pre-defined
 * [labelMatcher] which identify the graph as _demo_.
 */
export declare function createFederatedGraph(client: BaseCommandOptions['client'], options: {
    name: string;
    namespace: string;
    labelMatcher: string;
    routingUrl: URL;
}): Promise<{
    error: null;
} | {
    error: Error;
}>;
