import { z } from 'zod';
/**
 * AWS SSO type definitions
 */
/**
 * Zod schema for AWS SSO configuration
 */
export declare const AwsSsoConfigSchema: z.ZodObject<{
    startUrl: z.ZodString;
    region: z.ZodString;
}, z.core.$strip>;
/**
 * AWS SSO configuration type inferred from Zod schema
 */
export type AwsSsoConfig = z.infer<typeof AwsSsoConfigSchema>;
/**
 * Zod schema for SSO token data
 */
export declare const SsoTokenSchema: z.ZodObject<{
    accessToken: z.ZodString;
    expiresIn: z.ZodNumber;
    refreshToken: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    tokenType: z.ZodString;
    retrievedAt: z.ZodNumber;
    expiresAt: z.ZodNumber;
    region: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * SSO token data type inferred from Zod schema
 */
export type SsoToken = z.infer<typeof SsoTokenSchema>;
/**
 * Zod schema for AWS SSO auth result
 */
export declare const AwsSsoAuthResultSchema: z.ZodObject<{
    accessToken: z.ZodString;
    expiresAt: z.ZodNumber;
    refreshToken: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    expiresIn: z.ZodOptional<z.ZodNumber>;
    region: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * AWS SSO auth result type inferred from Zod schema
 */
export type AwsSsoAuthResult = z.infer<typeof AwsSsoAuthResultSchema>;
/**
 * Zod schema for AWS SSO Role
 */
export declare const AwsSsoRoleSchema: z.ZodObject<{
    roleName: z.ZodString;
    roleArn: z.ZodString;
    accountId: z.ZodString;
}, z.core.$strip>;
/**
 * AWS SSO Role type inferred from Zod schema
 */
export type AwsSsoRole = z.infer<typeof AwsSsoRoleSchema>;
/**
 * Zod schema for AWS SSO Account with roles
 */
export declare const AwsSsoAccountWithRolesSchema: z.ZodObject<{
    accountId: z.ZodString;
    accountName: z.ZodString;
    accountEmail: z.ZodOptional<z.ZodString>;
    roles: z.ZodArray<z.ZodObject<{
        roleName: z.ZodString;
        roleArn: z.ZodString;
        accountId: z.ZodString;
    }, z.core.$strip>>;
}, z.core.$strip>;
/**
 * AWS SSO Account with roles type inferred from Zod schema
 */
export type AwsSsoAccountWithRoles = z.infer<typeof AwsSsoAccountWithRolesSchema>;
/**
 * Zod schema for AWS credentials
 */
export declare const AwsCredentialsSchema: z.ZodObject<{
    accessKeyId: z.ZodString;
    secretAccessKey: z.ZodString;
    sessionToken: z.ZodString;
    expiration: z.ZodUnion<readonly [z.ZodDate, z.ZodPipe<z.ZodNumber, z.ZodTransform<Date, number>>, z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>]>;
    region: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * AWS credentials type inferred from Zod schema
 */
export type AwsCredentials = z.infer<typeof AwsCredentialsSchema>;
/**
 * Zod schema for parameters for getting AWS credentials
 */
export declare const GetCredentialsParamsSchema: z.ZodObject<{
    accountId: z.ZodString;
    roleName: z.ZodString;
    region: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Parameters for getting AWS credentials type inferred from Zod schema
 */
export type GetCredentialsParams = z.infer<typeof GetCredentialsParamsSchema>;
/**
 * Zod schema for parameters for listing AWS SSO accounts
 */
export declare const ListAccountsParamsSchema: z.ZodObject<{
    maxResults: z.ZodOptional<z.ZodNumber>;
    nextToken: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Parameters for listing AWS SSO accounts type inferred from Zod schema
 */
export type ListAccountsParams = z.infer<typeof ListAccountsParamsSchema>;
/**
 * Zod schema for response for listing AWS SSO accounts
 */
export declare const ListAccountsResponseSchema: z.ZodObject<{
    accountList: z.ZodArray<z.ZodObject<{
        accountId: z.ZodOptional<z.ZodString>;
        accountName: z.ZodOptional<z.ZodString>;
        emailAddress: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    nextToken: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Response for listing AWS SSO accounts type inferred from Zod schema
 */
export type ListAccountsResponse = z.infer<typeof ListAccountsResponseSchema>;
/**
 * Zod schema for parameters for listing account roles
 */
export declare const ListAccountRolesParamsSchema: z.ZodObject<{
    accountId: z.ZodString;
    maxResults: z.ZodOptional<z.ZodNumber>;
    nextToken: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Parameters for listing account roles type inferred from Zod schema
 */
export type ListAccountRolesParams = z.infer<typeof ListAccountRolesParamsSchema>;
/**
 * Zod schema for role information from AWS SSO API
 */
export declare const RoleInfoSchema: z.ZodObject<{
    roleName: z.ZodOptional<z.ZodString>;
    roleArn: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Role information from AWS SSO API type inferred from Zod schema
 */
export type RoleInfo = z.infer<typeof RoleInfoSchema>;
/**
 * Zod schema for response for listing account roles
 */
export declare const ListAccountRolesResponseSchema: z.ZodObject<{
    roleList: z.ZodArray<z.ZodObject<{
        roleName: z.ZodOptional<z.ZodString>;
        roleArn: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    nextToken: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Response for listing account roles type inferred from Zod schema
 */
export type ListAccountRolesResponse = z.infer<typeof ListAccountRolesResponseSchema>;
/**
 * Zod schema for device authorization information
 */
export declare const DeviceAuthorizationInfoSchema: z.ZodObject<{
    clientId: z.ZodString;
    clientSecret: z.ZodString;
    deviceCode: z.ZodString;
    verificationUri: z.ZodOptional<z.ZodString>;
    verificationUriComplete: z.ZodOptional<z.ZodString>;
    userCode: z.ZodOptional<z.ZodString>;
    expiresIn: z.ZodNumber;
    interval: z.ZodOptional<z.ZodNumber>;
    region: z.ZodString;
}, z.core.$strip>;
/**
 * Device authorization information type inferred from Zod schema
 */
export type DeviceAuthorizationInfo = z.infer<typeof DeviceAuthorizationInfoSchema>;
