/// <reference types="node" />
/// <reference types="node" />
import "./_dnt.polyfills.js";
import type { MigrationAction } from "./gen/typegraph_core";
import type { TypegraphOutput } from "./typegraph.js";
export declare class BasicAuth {
    username: string;
    password: string;
    constructor(username: string, password: string);
    asHeaderValue(): string;
}
export interface TypegateConnectionOptions {
    url: string;
    auth?: BasicAuth;
}
export interface TypegraphDeployParams {
    typegate: TypegateConnectionOptions;
    typegraphPath: string;
    prefix?: string;
    secrets?: Record<string, string>;
    migrationsDir?: string;
    migrationActions?: Record<string, MigrationAction>;
    defaultMigrationAction?: MigrationAction;
}
export interface TypegraphRemoveParams {
    typegate: TypegateConnectionOptions;
}
export interface DeployResult {
    serialized: string;
    response: Record<string, any>;
}
export interface RemoveResult {
    typegate: Record<string, any> | string;
}
export interface ArtifactMeta {
    typegraphName: string;
    relativePath: string;
    hash: string;
    sizeInBytes: number;
}
export declare function tgDeploy(typegraph: TypegraphOutput, params: TypegraphDeployParams): Promise<DeployResult>;
export declare function tgRemove(typegraphName: string, params: TypegraphRemoveParams): Promise<RemoveResult>;
export declare function pingTypegate(url: URL, headers: Headers): Promise<void>;
