export interface CreateOAuth2TokenRequestBody {
    /** The client identifier (ARN) used during Sign-In onboarding Required for both authorization code and refresh token flows */
    clientId: string;
    /** OAuth 2.0 grant type - determines which flow is used Must be "authorization_code" or "refresh_token" */
    grantType: string;
    /** The authorization code received from /v1/authorize Required only when grant_type=authorization_code */
    code?: string;
    /** The redirect URI that must match the original authorization request Required only when grant_type=authorization_code */
    redirectUri?: string;
    /** PKCE code verifier to prove possession of the original code challenge Required only when grant_type=authorization_code */
    codeVerifier?: string;
    /** The refresh token returned from auth_code redemption Required only when grant_type=refresh_token */
    refreshToken?: string;
}
/** Input structure for CreateOAuth2Token operation Contains flattened token operation inputs for both authorization code and refresh token flows. The operation type is determined by the grant_type parame */
export interface CreateOAuth2TokenInput {
    /** Flattened token operation inputs The specific operation is determined by grant_type in the request body */
    tokenInput: CreateOAuth2TokenRequestBody;
}
/** Signin service binding for Step Functions SDK integrations. */
export declare class Signin {
    constructor();
    createOAuth2Token<T>(params: CreateOAuth2TokenInput): Promise<T>;
}
//# sourceMappingURL=Signin.d.ts.map