/**
 * types.ts
 *
 * Contains type definitions used throughout the hub bridge,
 * particularly for service-specific authentication flows.
 */
import type { CallToolRequestSchema, CallToolResult } from "@modelcontextprotocol/sdk/types.js";
import type { z, ZodType } from "zod";
type TextContent = {
    type: 'text';
    text: string;
};
type ResourceContent = {
    type: 'resource';
    resource: {
        uri: string;
        name: string;
        mimeType: string;
        text: string;
    };
};
type AuthorizationUrlResourceContent = ResourceContent & {
    resource: ResourceContent['resource'] & {
        name: 'authorization_url';
    };
};
type ContinueJobIdResourceContent = ResourceContent & {
    resource: ResourceContent['resource'] & {
        name: 'continue_job_id';
    };
};
export type MCPResult<TResultSchema extends ZodType<object>> = z.infer<TResultSchema>;
export type AuthorizationRequiredResponse = CallToolResult & {
    content: [
        TextContent,
        AuthorizationUrlResourceContent,
        ContinueJobIdResourceContent
    ];
};
export type LocalToolHandler = (request: z.infer<typeof CallToolRequestSchema>) => Promise<CallToolResult>;
export type Tokens = {
    id_token?: string;
    access_token?: string;
    refresh_token?: string;
};
export {};
//# sourceMappingURL=types.d.ts.map