/**
 * Kubernetes Authentication API
 *
 * Generated from the Kubernetes OpenAPI spec.
 * DO NOT EDIT - regenerate with: bun run generate
 */
import * as Schema from "effect/Schema";
import * as API from "../client/api.ts";
import { Conflict, UnprocessableEntity } from "../errors.ts";
export declare const CreateAuthenticationV1SelfSubjectReviewInput: Schema.Struct<{}>;
export type CreateAuthenticationV1SelfSubjectReviewInput = typeof CreateAuthenticationV1SelfSubjectReviewInput.Type;
export declare const CreateAuthenticationV1SelfSubjectReviewOutput: Schema.Struct<{
    readonly apiVersion: Schema.optional<Schema.String>;
    readonly kind: Schema.optional<Schema.String>;
    readonly metadata: Schema.optional<Schema.Struct<{
        readonly annotations: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
        readonly creationTimestamp: Schema.optional<Schema.String>;
        readonly deletionGracePeriodSeconds: Schema.optional<Schema.Number>;
        readonly deletionTimestamp: Schema.optional<Schema.String>;
        readonly finalizers: Schema.optional<Schema.$Array<Schema.String>>;
        readonly generateName: Schema.optional<Schema.String>;
        readonly generation: Schema.optional<Schema.Number>;
        readonly labels: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
        readonly managedFields: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly apiVersion: Schema.optional<Schema.String>;
            readonly fieldsType: Schema.optional<Schema.String>;
            readonly fieldsV1: Schema.optional<Schema.Unknown>;
            readonly manager: Schema.optional<Schema.String>;
            readonly operation: Schema.optional<Schema.String>;
            readonly subresource: Schema.optional<Schema.String>;
            readonly time: Schema.optional<Schema.String>;
        }>>>;
        readonly name: Schema.optional<Schema.String>;
        readonly namespace: Schema.optional<Schema.String>;
        readonly ownerReferences: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly apiVersion: Schema.String;
            readonly blockOwnerDeletion: Schema.optional<Schema.Boolean>;
            readonly controller: Schema.optional<Schema.Boolean>;
            readonly kind: Schema.String;
            readonly name: Schema.String;
            readonly uid: Schema.String;
        }>>>;
        readonly resourceVersion: Schema.optional<Schema.String>;
        readonly selfLink: Schema.optional<Schema.String>;
        readonly uid: Schema.optional<Schema.String>;
    }>>;
    readonly status: Schema.optional<Schema.Struct<{
        readonly userInfo: Schema.optional<Schema.Struct<{
            readonly extra: Schema.optional<Schema.$Record<Schema.String, Schema.$Array<Schema.String>>>;
            readonly groups: Schema.optional<Schema.$Array<Schema.String>>;
            readonly uid: Schema.optional<Schema.String>;
            readonly username: Schema.optional<Schema.String>;
        }>>;
    }>>;
}>;
export type CreateAuthenticationV1SelfSubjectReviewOutput = typeof CreateAuthenticationV1SelfSubjectReviewOutput.Type;
/**
 * create a SelfSubjectReview
 */
export declare const createAuthenticationV1SelfSubjectReview: API.OperationMethod<{}, {
    readonly apiVersion?: string | undefined;
    readonly kind?: string | undefined;
    readonly metadata?: {
        readonly annotations?: {
            readonly [x: string]: string;
        } | undefined;
        readonly creationTimestamp?: string | undefined;
        readonly deletionGracePeriodSeconds?: number | undefined;
        readonly deletionTimestamp?: string | undefined;
        readonly finalizers?: readonly string[] | undefined;
        readonly generateName?: string | undefined;
        readonly generation?: number | undefined;
        readonly labels?: {
            readonly [x: string]: string;
        } | undefined;
        readonly managedFields?: readonly {
            readonly apiVersion?: string | undefined;
            readonly fieldsType?: string | undefined;
            readonly fieldsV1?: unknown;
            readonly manager?: string | undefined;
            readonly operation?: string | undefined;
            readonly subresource?: string | undefined;
            readonly time?: string | undefined;
        }[] | undefined;
        readonly name?: string | undefined;
        readonly namespace?: string | undefined;
        readonly ownerReferences?: readonly {
            readonly apiVersion: string;
            readonly blockOwnerDeletion?: boolean | undefined;
            readonly controller?: boolean | undefined;
            readonly kind: string;
            readonly name: string;
            readonly uid: string;
        }[] | undefined;
        readonly resourceVersion?: string | undefined;
        readonly selfLink?: string | undefined;
        readonly uid?: string | undefined;
    } | undefined;
    readonly status?: {
        readonly userInfo?: {
            readonly extra?: {
                readonly [x: string]: readonly string[];
            } | undefined;
            readonly groups?: readonly string[] | undefined;
            readonly uid?: string | undefined;
            readonly username?: string | undefined;
        } | undefined;
    } | undefined;
}, Conflict | UnprocessableEntity, import("../credentials.ts").Credentials>;
export declare const CreateAuthenticationV1TokenReviewInput: Schema.Struct<{}>;
export type CreateAuthenticationV1TokenReviewInput = typeof CreateAuthenticationV1TokenReviewInput.Type;
export declare const CreateAuthenticationV1TokenReviewOutput: Schema.Struct<{
    readonly apiVersion: Schema.optional<Schema.String>;
    readonly kind: Schema.optional<Schema.String>;
    readonly metadata: Schema.optional<Schema.Struct<{
        readonly annotations: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
        readonly creationTimestamp: Schema.optional<Schema.String>;
        readonly deletionGracePeriodSeconds: Schema.optional<Schema.Number>;
        readonly deletionTimestamp: Schema.optional<Schema.String>;
        readonly finalizers: Schema.optional<Schema.$Array<Schema.String>>;
        readonly generateName: Schema.optional<Schema.String>;
        readonly generation: Schema.optional<Schema.Number>;
        readonly labels: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
        readonly managedFields: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly apiVersion: Schema.optional<Schema.String>;
            readonly fieldsType: Schema.optional<Schema.String>;
            readonly fieldsV1: Schema.optional<Schema.Unknown>;
            readonly manager: Schema.optional<Schema.String>;
            readonly operation: Schema.optional<Schema.String>;
            readonly subresource: Schema.optional<Schema.String>;
            readonly time: Schema.optional<Schema.String>;
        }>>>;
        readonly name: Schema.optional<Schema.String>;
        readonly namespace: Schema.optional<Schema.String>;
        readonly ownerReferences: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly apiVersion: Schema.String;
            readonly blockOwnerDeletion: Schema.optional<Schema.Boolean>;
            readonly controller: Schema.optional<Schema.Boolean>;
            readonly kind: Schema.String;
            readonly name: Schema.String;
            readonly uid: Schema.String;
        }>>>;
        readonly resourceVersion: Schema.optional<Schema.String>;
        readonly selfLink: Schema.optional<Schema.String>;
        readonly uid: Schema.optional<Schema.String>;
    }>>;
    readonly spec: Schema.Struct<{
        readonly audiences: Schema.optional<Schema.$Array<Schema.String>>;
        readonly token: Schema.String;
    }>;
    readonly status: Schema.optional<Schema.Struct<{
        readonly audiences: Schema.optional<Schema.$Array<Schema.String>>;
        readonly authenticated: Schema.optional<Schema.Boolean>;
        readonly error: Schema.optional<Schema.String>;
        readonly user: Schema.optional<Schema.Struct<{
            readonly extra: Schema.optional<Schema.$Record<Schema.String, Schema.$Array<Schema.String>>>;
            readonly groups: Schema.optional<Schema.$Array<Schema.String>>;
            readonly uid: Schema.optional<Schema.String>;
            readonly username: Schema.optional<Schema.String>;
        }>>;
    }>>;
}>;
export type CreateAuthenticationV1TokenReviewOutput = typeof CreateAuthenticationV1TokenReviewOutput.Type;
/**
 * create a TokenReview
 */
export declare const createAuthenticationV1TokenReview: API.OperationMethod<{}, {
    readonly apiVersion?: string | undefined;
    readonly kind?: string | undefined;
    readonly metadata?: {
        readonly annotations?: {
            readonly [x: string]: string;
        } | undefined;
        readonly creationTimestamp?: string | undefined;
        readonly deletionGracePeriodSeconds?: number | undefined;
        readonly deletionTimestamp?: string | undefined;
        readonly finalizers?: readonly string[] | undefined;
        readonly generateName?: string | undefined;
        readonly generation?: number | undefined;
        readonly labels?: {
            readonly [x: string]: string;
        } | undefined;
        readonly managedFields?: readonly {
            readonly apiVersion?: string | undefined;
            readonly fieldsType?: string | undefined;
            readonly fieldsV1?: unknown;
            readonly manager?: string | undefined;
            readonly operation?: string | undefined;
            readonly subresource?: string | undefined;
            readonly time?: string | undefined;
        }[] | undefined;
        readonly name?: string | undefined;
        readonly namespace?: string | undefined;
        readonly ownerReferences?: readonly {
            readonly apiVersion: string;
            readonly blockOwnerDeletion?: boolean | undefined;
            readonly controller?: boolean | undefined;
            readonly kind: string;
            readonly name: string;
            readonly uid: string;
        }[] | undefined;
        readonly resourceVersion?: string | undefined;
        readonly selfLink?: string | undefined;
        readonly uid?: string | undefined;
    } | undefined;
    readonly spec: {
        readonly audiences?: readonly string[] | undefined;
        readonly token: string;
    };
    readonly status?: {
        readonly audiences?: readonly string[] | undefined;
        readonly authenticated?: boolean | undefined;
        readonly error?: string | undefined;
        readonly user?: {
            readonly extra?: {
                readonly [x: string]: readonly string[];
            } | undefined;
            readonly groups?: readonly string[] | undefined;
            readonly uid?: string | undefined;
            readonly username?: string | undefined;
        } | undefined;
    } | undefined;
}, Conflict | UnprocessableEntity, import("../credentials.ts").Credentials>;
export declare const GetAuthenticationAPIGroupInput: Schema.Struct<{}>;
export type GetAuthenticationAPIGroupInput = typeof GetAuthenticationAPIGroupInput.Type;
export declare const GetAuthenticationAPIGroupOutput: Schema.Struct<{
    readonly apiVersion: Schema.optional<Schema.String>;
    readonly kind: Schema.optional<Schema.String>;
    readonly name: Schema.String;
    readonly preferredVersion: Schema.optional<Schema.Struct<{
        readonly groupVersion: Schema.String;
        readonly version: Schema.String;
    }>>;
    readonly serverAddressByClientCIDRs: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly clientCIDR: Schema.String;
        readonly serverAddress: Schema.String;
    }>>>;
    readonly versions: Schema.$Array<Schema.Struct<{
        readonly groupVersion: Schema.String;
        readonly version: Schema.String;
    }>>;
}>;
export type GetAuthenticationAPIGroupOutput = typeof GetAuthenticationAPIGroupOutput.Type;
/**
 * get information of a group
 */
export declare const getAuthenticationAPIGroup: API.OperationMethod<{}, {
    readonly apiVersion?: string | undefined;
    readonly kind?: string | undefined;
    readonly name: string;
    readonly preferredVersion?: {
        readonly groupVersion: string;
        readonly version: string;
    } | undefined;
    readonly serverAddressByClientCIDRs?: readonly {
        readonly clientCIDR: string;
        readonly serverAddress: string;
    }[] | undefined;
    readonly versions: readonly {
        readonly groupVersion: string;
        readonly version: string;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const GetAuthenticationV1APIResourcesInput: Schema.Struct<{}>;
export type GetAuthenticationV1APIResourcesInput = typeof GetAuthenticationV1APIResourcesInput.Type;
export declare const GetAuthenticationV1APIResourcesOutput: Schema.Struct<{
    readonly apiVersion: Schema.optional<Schema.String>;
    readonly groupVersion: Schema.String;
    readonly kind: Schema.optional<Schema.String>;
    readonly resources: Schema.$Array<Schema.Struct<{
        readonly categories: Schema.optional<Schema.$Array<Schema.String>>;
        readonly group: Schema.optional<Schema.String>;
        readonly kind: Schema.String;
        readonly name: Schema.String;
        readonly namespaced: Schema.Boolean;
        readonly shortNames: Schema.optional<Schema.$Array<Schema.String>>;
        readonly singularName: Schema.String;
        readonly storageVersionHash: Schema.optional<Schema.String>;
        readonly verbs: Schema.$Array<Schema.String>;
        readonly version: Schema.optional<Schema.String>;
    }>>;
}>;
export type GetAuthenticationV1APIResourcesOutput = typeof GetAuthenticationV1APIResourcesOutput.Type;
/**
 * get available resources
 */
export declare const getAuthenticationV1APIResources: API.OperationMethod<{}, {
    readonly apiVersion?: string | undefined;
    readonly groupVersion: string;
    readonly kind?: string | undefined;
    readonly resources: readonly {
        readonly categories?: readonly string[] | undefined;
        readonly group?: string | undefined;
        readonly kind: string;
        readonly name: string;
        readonly namespaced: boolean;
        readonly shortNames?: readonly string[] | undefined;
        readonly singularName: string;
        readonly storageVersionHash?: string | undefined;
        readonly verbs: readonly string[];
        readonly version?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
//# sourceMappingURL=authentication.d.ts.map