import * as Channel from "effect/Channel";
import type * as Chunk from "effect/Chunk";
import type { ParseError } from "effect/ParseResult";
import * as Schema from "effect/Schema";
/**
* @since 1.0.0
* @category constructors
*/
export declare const encode: (schema: Schema.Schema) => () => Channel.Channel, Chunk.Chunk, IE | ParseError, IE, Done, Done, R>;
/**
* @since 1.0.0
* @category constructors
*/
export declare const encodeUnknown: (schema: Schema.Schema) => () => Channel.Channel, Chunk.Chunk, IE | ParseError, IE, Done, Done, R>;
/**
* @since 1.0.0
* @category constructors
*/
export declare const decode: (schema: Schema.Schema) => () => Channel.Channel, Chunk.Chunk, ParseError | IE, IE, Done, Done, R>;
/**
* @since 1.0.0
* @category constructors
*/
export declare const decodeUnknown: (schema: Schema.Schema) => () => Channel.Channel, Chunk.Chunk, ParseError | IE, IE, Done, Done, R>;
/**
* @since 1.0.0
* @category combinators
*/
export declare const duplex: {
/**
* @since 1.0.0
* @category combinators
*/
(options: {
readonly inputSchema: Schema.Schema;
readonly outputSchema: Schema.Schema;
}): (self: Channel.Channel, Chunk.Chunk, OutErr, ParseError | InErr, OutDone, InDone, R>) => Channel.Channel, Chunk.Chunk, ParseError | OutErr, InErr, OutDone, InDone, R | IR | OR>;
/**
* @since 1.0.0
* @category combinators
*/
(self: Channel.Channel, Chunk.Chunk, OutErr, ParseError | InErr, OutDone, InDone, R>, options: {
readonly inputSchema: Schema.Schema;
readonly outputSchema: Schema.Schema;
}): Channel.Channel, Chunk.Chunk, ParseError | OutErr, InErr, OutDone, InDone, R | IR | OR>;
};
/**
* @since 1.0.0
* @category combinators
*/
export declare const duplexUnknown: {
/**
* @since 1.0.0
* @category combinators
*/
(options: {
readonly inputSchema: Schema.Schema;
readonly outputSchema: Schema.Schema;
}): (self: Channel.Channel, Chunk.Chunk, OutErr, ParseError | InErr, OutDone, InDone, R>) => Channel.Channel, Chunk.Chunk, ParseError | OutErr, InErr, OutDone, InDone, R | IR | OR>;
/**
* @since 1.0.0
* @category combinators
*/
(self: Channel.Channel, Chunk.Chunk, OutErr, ParseError | InErr, OutDone, InDone, R>, options: {
readonly inputSchema: Schema.Schema;
readonly outputSchema: Schema.Schema;
}): Channel.Channel, Chunk.Chunk, ParseError | OutErr, InErr, OutDone, InDone, R | IR | OR>;
};
//# sourceMappingURL=ChannelSchema.d.ts.map