import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';
import { Timestamp } from '../../google/protobuf/timestamp';
export declare const protobufPackage = "driveningress.v2";
export interface GetCharacterInfoRequest {
    characterId: string;
}
export interface CharacterAsset {
    /** 资产ID，例如 "v1/xxx" */
    characterId: string;
    /** 资产版本，例如 "1.0.0" */
    version: string;
    createdAt?: Timestamp | undefined;
    updatedAt?: Timestamp | undefined;
    camera?: ResourceHolder | undefined;
    models?: Models | undefined;
    animations?: Animations | undefined;
    background?: ResourceHolder | undefined;
    characterSettings?: {
        [key: string]: any;
    } | undefined;
}
export interface Resource {
    type: string;
    local: string;
    remote: string;
}
export interface ResourceHolder {
    resource?: Resource | undefined;
}
export interface Models {
    shape?: ResourceHolder | undefined;
    gsStandard?: ResourceHolder | undefined;
    gsHigh?: ResourceHolder | undefined;
    gsUltra?: ResourceHolder | undefined;
}
export interface Animations {
    frameIdle?: ResourceHolder | undefined;
    frameMono?: ResourceHolder | undefined;
    audioMono?: ResourceHolder | undefined;
}
export declare const GetCharacterInfoRequest: MessageFns<GetCharacterInfoRequest>;
export declare const CharacterAsset: MessageFns<CharacterAsset>;
export declare const Resource: MessageFns<Resource>;
export declare const ResourceHolder: MessageFns<ResourceHolder>;
export declare const Models: MessageFns<Models>;
export declare const Animations: MessageFns<Animations>;
export interface DrivenIngressService {
    GetCharacterInfo(request: GetCharacterInfoRequest): Promise<CharacterAsset>;
}
export declare const DrivenIngressServiceServiceName = "driveningress.v2.DrivenIngressService";
export declare class DrivenIngressServiceClientImpl implements DrivenIngressService {
    private readonly rpc;
    private readonly service;
    constructor(rpc: Rpc, opts?: {
        service?: string;
    });
    GetCharacterInfo(request: GetCharacterInfoRequest): Promise<CharacterAsset>;
}
interface Rpc {
    request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
}
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
export interface MessageFns<T> {
    encode(message: T, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): T;
    fromJSON(object: any): T;
    toJSON(message: T): unknown;
    create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
    fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
}
export {};
//# sourceMappingURL=driveningress.d.ts.map