export type Access = Private | Public;
export declare function decodeAccess(input: any): Access;
export declare function encodeAccess(value: Access): any;
export declare class Private {
    kind: "Private";
    constructor();
}
export declare function decodePrivate(input: any): Private;
export declare function encodePrivate(value: Private): any;
export declare class Public {
    kind: "Public";
    constructor();
}
export declare function decodePublic(input: any): Public;
export declare function encodePublic(value: Public): any;
export type AccessControlled<A> = {
    access: Access;
    value: A;
};
export declare function decodeAccessControlled<A>(decodeA: (input: any) => A, input: any): AccessControlled<A>;
export declare function encodeAccessControlled<A>(encodeA: (value: A) => any, value: AccessControlled<A>): any;
declare const _default: {};
export default _default;
