import { ObjectTypeDefinitionNode } from 'graphql';
import { SdlField } from '../field/interface';
import { SdlDirective } from '../interface';
import { SdlNamedType } from './interface';
export default class SdlObjectType implements SdlNamedType<ObjectTypeDefinitionNode> {
    private name;
    private typeDef;
    private description;
    private interfaces;
    private directives;
    private fields;
    constructor({ name, description, interfaces, directives, fields, typeDef, }: {
        name: string;
        description?: string;
        interfaces?: string[];
        directives?: Record<string, SdlDirective>;
        fields?: Record<string, SdlField>;
        typeDef: ObjectTypeDefinitionNode;
    });
    getName(): string;
    getField(name: string): SdlField;
    getFields(): Record<string, SdlField>;
    getDescription(): string;
    getInterfaces(): string[];
    getDirectives(): Record<string, SdlDirective>;
    getTypeDef(): any;
}
