import type { OAuthAppInput } from "@stigmer/sdk";
import type { OAuthApp } from "@stigmer/protos/ai/stigmer/iam/oauthapp/v1/api_pb";
/** Return value of {@link useCreateOAuthApp}. */
export interface UseCreateOAuthAppReturn {
    /** Submit an {@link OAuthAppInput} to create a new OAuth app. Resolves with the server-created resource. */
    readonly create: (input: OAuthAppInput) => Promise<OAuthApp>;
    /** `true` while the create request is in flight. */
    readonly isCreating: boolean;
    /** Error from the last failed create, or `null` when healthy. */
    readonly error: Error | null;
    /** Reset `error` to `null`. */
    readonly clearError: () => void;
}
/**
 * Mutation hook that wraps `oauthapp.create()` with loading and error
 * state.
 *
 * Creates an OAuth app resource within an organization. The caller
 * provides an {@link OAuthAppInput} with the required metadata (name,
 * org) and spec fields (provider, client ID, client secret, OAuth
 * endpoint URLs).
 *
 * @example
 * ```tsx
 * const { create, isCreating, error } = useCreateOAuthApp();
 *
 * const app = await create({
 *   name: "My Slack App",
 *   org: "acme",
 *   provider: "Slack",
 *   clientId: "123456.789012",
 *   clientSecret: "secret",
 *   authorizationUrl: "https://slack.com/oauth/v2/authorize",
 *   tokenUrl: "https://slack.com/api/oauth.v2.access",
 * });
 * ```
 */
export declare function useCreateOAuthApp(): UseCreateOAuthAppReturn;
//# sourceMappingURL=useCreateOAuthApp.d.ts.map