import * as HttpClient from "effect/unstable/http/HttpClient";
import * as S from "effect/Schema";
import * as API from "../client/api.ts";
import * as T from "../traits.ts";
import type { Credentials } from "../credentials.ts";
import type { CommonErrors } from "../errors.ts";
import type { Region } from "../region.ts";
export type __timestampIso8601 = Date;
export interface DeleteConnectionRequest {
    ConnectionId: string;
}
export declare const DeleteConnectionRequest: S.Schema<DeleteConnectionRequest>;
export interface DeleteConnectionResponse {
}
export declare const DeleteConnectionResponse: S.Schema<DeleteConnectionResponse>;
export interface GetConnectionRequest {
    ConnectionId: string;
}
export declare const GetConnectionRequest: S.Schema<GetConnectionRequest>;
export interface Identity {
    SourceIp?: string;
    UserAgent?: string;
}
export declare const Identity: S.Schema<Identity>;
export interface GetConnectionResponse {
    ConnectedAt?: Date;
    Identity?: Identity & {
        SourceIp: string;
        UserAgent: string;
    };
    LastActiveAt?: Date;
}
export declare const GetConnectionResponse: S.Schema<GetConnectionResponse>;
export interface PostToConnectionRequest {
    Data?: T.StreamingInputBody;
    ConnectionId: string;
}
export declare const PostToConnectionRequest: S.Schema<PostToConnectionRequest>;
export interface PostToConnectionResponse {
}
export declare const PostToConnectionResponse: S.Schema<PostToConnectionResponse>;
declare const ForbiddenException_base: S.Class<ForbiddenException, S.TaggedStruct<"ForbiddenException", {}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        AuthError: true;
    };
});
export declare class ForbiddenException extends ForbiddenException_base {
}
declare const GoneException_base: S.Class<GoneException, S.TaggedStruct<"GoneException", {}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class GoneException extends GoneException_base {
}
declare const LimitExceededException_base: S.Class<LimitExceededException, S.TaggedStruct<"LimitExceededException", {}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ThrottlingError: true;
    };
});
export declare class LimitExceededException extends LimitExceededException_base {
}
declare const PayloadTooLargeException_base: S.Class<PayloadTooLargeException, S.TaggedStruct<"PayloadTooLargeException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class PayloadTooLargeException extends PayloadTooLargeException_base {
}
export type DeleteConnectionError = ForbiddenException | GoneException | LimitExceededException | CommonErrors;
/**
 * Delete the connection with the provided id.
 */
export declare const deleteConnection: API.OperationMethod<DeleteConnectionRequest, DeleteConnectionResponse, DeleteConnectionError, Credentials | Region | HttpClient.HttpClient>;
export type GetConnectionError = ForbiddenException | GoneException | LimitExceededException | CommonErrors;
/**
 * Get information about the connection with the provided id.
 */
export declare const getConnection: API.OperationMethod<GetConnectionRequest, GetConnectionResponse, GetConnectionError, Credentials | Region | HttpClient.HttpClient>;
export type PostToConnectionError = ForbiddenException | GoneException | LimitExceededException | PayloadTooLargeException | CommonErrors;
/**
 * Sends the provided data to the specified connection.
 */
export declare const postToConnection: API.OperationMethod<PostToConnectionRequest, PostToConnectionResponse, PostToConnectionError, Credentials | Region | HttpClient.HttpClient>;
export {};
//# sourceMappingURL=apigatewaymanagementapi.d.ts.map